PS: regex replace
Umlüx 07.02.2018 - 15:58 1309 0
Umlüx
Huge Metal Fan
|
hallo, ich bins mal wieder. und ich bin wieder zu deppat für alles ![:D](/images/smilies/biggrin.gif) ich muss tausende files nach einem bestimmten string pattern durchsuchen und alle vorkommen verändert zurückschreiben. und ich steh beim replace grad an... test für den betroffenen code ausschnitt: $string = "blafasel/CCCA1234567890123456/foobar/HURRZ/CCVI6543210987654321/blubb"
$replace = $string -replace '([C]{2})([A-Z]{2})(\d{4})(\d.*)(\d{4})/','$1$2$3XXXXXXXX$5/'
ich erwarte blafasel/CCCA1234XXXXXXXX3456/foobar/HURRZ/CCVI8765XXXXXXXXXX4321/blubb
ich bekomme aber blafasel/CCCA1234XXXXXXXX4321/blubb
kann ich hier nicht einfach mit replace arbeiten? oder wo hab ich meinen hänger? EDIT: BAH! problem schon gelöst.. ".*" war zu greedy. ".*?" funktioniert wie ich will!
Bearbeitet von Umlüx am 07.02.2018, 16:51
|