--deleted earlier text - I asked the wrong question!
ahem....
What I have is $var = "\\unknowntext1\alwaysSame\unknowntext2"
I need to keep only "\\unknowntext1"
Try regular expressions:
$foo = 'something_of_unknown' -replace 'something.*','something'
Or if you know only partially the 'something', then e.g.
'something_of_unknown' -replace '(some[^_]*).*','$1'
'some_of_unknown' -replace '(some[^_]*).*','$1'
'somewhatever_of_unknown' -replace '(some[^_]*).*','$1'
The $1
is reference to group in parenthesis (the (some[^_]*)
part).
Edit (after changed question):
If you use regex, then special characters need to be escaped:
"\\unknowntext1\alwaysSame\unknowntext2" -replace '\\\\unknowntext1.*', '\\unknowntext1'
or (another regex magic) use lookbehind like this:
"\\unknowntext1\alwaysSame\unknowntext2" -replace '(?<=\\\\unknowntext1).*', ''
(which is: take anything (.*
), but there must be \\unknowntext1
before it ('(?<=\\\\unknowntext1)
) and replace it with empty string.
Edit (last)
If you know that there is something known in the middle (the alwaysSame
), this might help:
"\\unknowntext1\alwaysSame\unknowntext2" -replace '(.*?)\\alwaysSame.*', '$1'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With