将“\”更改为“/”

问题描述:

我正在寻找一段简单的代码,将字符串中的所有反斜杠更改为使用java正向斜杠。我尝试过: word.replaceAll(“\”,“/”);将“”更改为“/”

但它不起作用。任何人都可以快速解决这个问题?

谢谢

P.S. 我也只是注意到,几乎没有任何我的字符串操作正在工作。我尝试了toUpperCase()之类的东西,而且没有任何事情发生在字符串?!

+0

String类是不可变的,因此永远不会改变更换所有的侧隙工作。它始终会返回一个新的副本,并进行更改。 –

replaceAll()错误方法在这种情况下使用,因为它使用regular expressions相匹配。

你想要更简单的replace()替换文字的方法。试试这个:

word = word.replace("\\","/"); 

注:

  1. 你必须逃脱与另一个反斜杠反斜杠,即"\\"是你如何编写一个字符串,是一个单反斜线
  2. 字符串是immutable - String方法返回一个字符串与结果...他们不更改字符串。这就是为什么你需要编码它像myString = myString.someMethod();
+0

完美!它现在完美运作。谢谢! – intA

+0

@ user1088796如果它解决了您的问题,您应该接受该答案。 – Laf

这些函数将返回一个新字符串,其中包含您试图实现的更改,而不会更改字符串本身。在\情况下,你可能需要使用一个转义斜杠(\\

+0

对不起,这就是我想输入原始问题的意思,所以我使用的函数是:word.replaceAll(“\\”,“/”); – intA

在这种情况下,你可能需要使用:

word.replaceAll(("\\", "/"); 

toUpperCase()回报一个字符串,它不会改变字符串调用方法。

http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html

+0

哦!这是我相信的问题。我需要做word = word.replaceAll(“\\”,“/”)谢谢! – intA

字符串是不可变
他们永远不会改变。您需要编写word = word.something()

所有你需要做的是word = word.replaceAll(“\”,“/”);

你必须知道一个字符串不能被改变。

这些方法通过遍历字符串中的字符,并用斜杠