webForumDet fria alternativet

Rexexp

4 svar · 544 visningar · startad av leniz

lenizMedlem sedan aug. 2001676 inlägg
#1

Försöker komma på hur man ska skriva för att hitta och ersätta varje ställe i en textsträng där det är ett kommatecken direkt följt av en bokstav a-ö, A-Ö eller en siffra 0-9. Jag vill klämma in ett mellanslag där.

Mönstret här verkar stämma men hur skriver jag för att varje träff ska ersättas av ett mellanslag efter kommatecknet men före bokstaven eller siffran?

(\,)+[A-ZÅÄÖa-zåäö0-9]

Exempel ord1,ord2,ord3 ska bli ord1, ord2, ord3

metalboyMedlem sedan jan. 2005953 inlägg
#2

Någon anledning till att inte använda Replace()?

NyStrang = Replace(GammalStrang, ",", ", ")
lenizMedlem sedan aug. 2001676 inlägg
#3

Ja, jag vill inte ersätta alla kommatecken utan bara de som har en bokstav eller siffra direkt efter sig. Har man redan gjort ett mellanslag efter kommatecknet ska det inte bli två mellanslag.

voigtann1Medlem sedan juni 20019 519 inlägg
#4
Dim myRegExp, ResultString
Set myRegExp = New RegExp
myRegExp.Global = True
myRegExp.IgnoreCase = True
myRegExp.Pattern = "(,)([a-z\dåäö])"
ResultString = myRegExp.Replace(SubjectString, "$1 $2")
lenizMedlem sedan aug. 2001676 inlägg
#5

Super :-) Stort tack!

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)