I have this issue in which I have a strnig with among other things the literal expression "\\"
on several occasions and I want to replace it with "\"
, when I try to replace it with string.replace, only replcaes the first occurrence, and if I do it with regular expression it doesn't replace it at all
I checked with some RegEx Testers online and supposedly my code is ok, returns what I meant to, but my code doesn't work at all
With string.replace
example = "\\\\url.com\\place\\anotherplace\\extraplace\\";
example = example.replace("\\\\","\\");
returns example == "\\url.com\\place\\anotherplace\\extraplace\\";
With RegEx
example = Regex.Replace(example,"\\\\","\\");
returns example = "\\\\url.com\\place\\anotherplace\\extraplace\\";
It is the same case if I use literals (On the Replace function parameters use (@"\\", @"\")
gives the same result as above).
Thanks!
EDIT:
I think my ultimate goal was confusing so I'll update it here, what I want to do is:
Input:
variable that holds the string: "\\\\url.com\\place\\anotherplace\\extraplace\\"
Process
Output
variable that holds the string "\\url.com\place\anotherplace\extraplace\"
(so I can send it to ffmpeg and it recognizes it as a valid route)
change this:
example = "\\\\url.com\\place\\anotherplace\\extraplace\\";
to this
example = @"\\\\url.com\\place\\anotherplace\\extraplace\\";
It wasn't the Regex.Replace
parameters that was the problem.
You only have one occurrence of \\\\
in your string. So it is doing exactly what you asked it to do.
Without escaping (ie without adding extra /'s)
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