13. december 2007 - 01:56Der er
8 kommentarer og 1 løsning
Hvordan manipulere tekststreng som indeholder tegnet mindre end?
I XML-filer må der ikke være tegn som "&", ">" og "<". Jeg har lavet et par små løkker, som fjerner tegnene. Men "<" kan ikke klares. Fx. If Mid(tekststreng, var, 1) = "<" Then ... - Selvom tekststrengen har "<" i sig, vil den ikke blive fundet. Er der nogen derude, som har et godt forslag?
Desværre. Det skulle man tro, men det fungerer ikke. Det fungerer med de øvrige tegn, bl.a. > (chr(62), men altså ikke med chr(60). Det har måske noget med omgivelserne at gøre? Det kører under Microsoft asp.net 2.0 og data bliver hentet fra en Access database.
Det løste ikke direkte problemet, for jeg skal have fjernet mærkelige koder som <div id=etellerandet>. Men svaret gav mig en idé til at omgå problemet. Ved at erstatte "<" med et andet tegn, kan der nu manipuleres. Fx. tekststreng = Replace(tekststreng, "<", "#",1,,vbTextCompare) Så du har fortjent dine point. Men jeg vil sådan set gerne høre, hvis nogen kender til en egentlig løsning.
Jeg er netop kommet i tanke om at det måske har med encodingen at gøre, siden du kører i et asp miljø. Det kan være det er noget unicode eller utf som skaber problemet.
Du kunne forsøge Mid-sætningen med ChrB(60) (tolkes som Byte) eller ChrW(60) (tolkes som unicode). -Bare et skud i tågen...
Det var ikke noget dårligt skud, for ChrW(60) gav resultat! Mærkeligt i øvrigt at det kun er dette tegn, som skal have særbehandling men ikke de øvrige. Men jeg skal i hvert fald have sat mig ind i kodesættene og være konsekvent bruger af den eller de bedste.
Der er i hvert fald mange besynderligheder. Teksten kommer som nævnt fra en Access database, og selvom bogstaverne "<" og ">" er skrevet på samme tastatur, kan de altså ikke søges på samme måde. I øvrigt har Access lidt af det samme problem. Jeg lavede en søg og erstat i databasen fra "<" til "<". Det gav imidlertid problemer andetsteds, hvorfor jeg ville lave søg og erstat tilbage. Men nu ville Access ikke genkende tegnet "#", så søgningen kunne ikke lade sig gøre. En søgning på tegnet alene gav alle tal til gengæld. Sådan er der så meget. Det er derfor eksperter er så dyre, for de har været ude for alle disse mærkeligheder.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.