Jag håller på att titta lite på Regexp... Hej, Jag har ingen större koll på VB, så det får bli lite beskrivande text. Emma, tack för tipset på mjukvaran, det ska testas :)RegExp Replace?
Jag använder VB6 till detta
Nu har jag kommit till detta lilla delikata problem.
Jag har denna stäng:
str1 = "A0|C3|P1-31|P144-16|I5-63|P142-0|P141-63|"
Sedan har jag denna:
str2 = "|P144|I5|P55|"
I str2 finns det ju P144 och samma P144 finns ju även i str1
Nu vill jag att siffran/orna efter "-"-tecknet i str1 ska bytas ut mot exempelvis 4 och detta gäller för alla väden som matchar str1 & str2
resultatet jag är ute efter är:
str1 = "A0|C3|P1-31|P144-4|I5-4|P142-0|P141-63|"
med andra ord det blir match på P144 och I5 men inte P55
P144-16 ska bli P144-4
I5-63 ska bli I5-4
P55 finns inte i str1 så det ska det inte hända något med.
Jag vet inte om regexp är rätt till detta men jag försöker lära mig det så jag vill helst använda just regexp...
Tack på förhand och hoppas ni förstår vad jag menar
/Andreas
Sv: RegExp Replace?
Jag är också rätt ny på just RegExp, men har tankat ner en gratis mjukvara för att göra livet lättare.
Kika här:
http://www.radsoftware.com.au/regexdesigner/
/EmmaSv: RegExp Replace?
Trimma först bort '|' i början och slutet från str2. Omslut den därefter med parenteser. Lägg till sist till -\d+ på slutet av str2 och du bör ha något i stil med: (P144|I5|P55)-\d+. Detta är ditt match-uttryck.
Replace-uttrycket blir $1- + ny siffra, t.ex. $1-4 om du vill byta ut siffran mot en fyra. $1 innehåller den text som matchats i parentesen.
Hoppas det hjälper.Sv:RegExp Replace?
David, Detta funkade helt perfekt! Tack så mycket!