2017-10-12 7 views
1

Ich möchte einen Text formatieren. Ich meine, so etwas wie dieses: Ich mag würde dies verwandeln:Ersetzen mit regulären Ausdrücken - VBA

"something'text between apostrophes'text" 

in

"something 'text between apostrophes' text" 

Ich möchte Räume von beiden Seiten hinzuzufügen, aber te Zeichenfolge halten in ‚‘ gleich. Ich habe versucht, es so zu tun:

Arkusz1.Cells(1, 1).Replace What:="'*'" Replacement:=" '*' " 

Aber das Ergebnis ist:

"something '*' text" 

Arkusz1.Cells(1,1) die string enthält ich ersetzen wollen. Ist es möglich, dies zu tun? Dank

Antwort

1

Sie diese Regex versuchen:

('[^']+') 

und ersetzen durch das:

" $1 " 

Beispiel Quelle

Dim Regex As System.Text.RegularExpressions.Regex 
Dim SubjectString As String = "something 'text between apostrophes' text" 
Dim ResultString As String = Regex.Replace(SubjectString, "('[^']+')", " $1 ") 
Console.WriteLine(ResultString)  

Regex 101 Demo

Verwandte Themen