我有一个包含“\”的本地文件路径,我需要将所有出现的内容更改为“/”以用于远程文件路径。
我试过了
myString.replace("\","/")
和
myString.replace(Convert.ToChar(92), Convert.ToChar(47))
两者似乎都把“\”留在了...... [/ p>
答案:
NewString = myString.replace("\","/")
问题在于我没有将它分配给变量。逃避斜线实际上使它失败了,至少在vb.net中。
答案 0 :(得分:10)
字符串是不可变的。 Replace
方法返回一个新字符串而不是影响当前字符串,因此您需要在变量中捕获结果。如果您使用的是VB.NET,则无需转义反斜杠,但在C#中必须使用其中的两个进行转义。
VB.NET(不需要转义):
myString = myString.Replace("\","/")
C#(反斜杠转义):
myString = myString.Replace("\\","/");
我假设您正在使用VB.NET,因为您没有包含分号,没有逃避反斜杠,并且由于使用了替换方法的外壳。
答案 1 :(得分:4)
\
必须通过在前面加上另一个\
进行转义,或者通过在字符串前加@
来将整个字符串转换为本地字符串。此外,myString.replace不会改变myString(字符串是不可变的,即无法更改),因此您需要指定值以查看结果。
使用
string myNewString = myString.replace("\\","/")
或
string myNewString = mmyString.replace(@"\","/")
或
string myNewString = mmyString.replace('\\','/')
答案 2 :(得分:0)
您可以转义\
:
myString.replace("\\","/")
或使用string literal(C#):
myString.replace(@"\","/")
或者使用使用char
s:
myString.replace('\','/')
答案 3 :(得分:0)
您需要使用额外 back slash (\)
转义back slash (\\)
,试试这个:
myString.replace("\\","/")