2

我正在寻找一段简单的代码,它将使用java将字符串中的所有反斜杠更改为正斜杠。

我试过这个: word.replaceAll("\","/");

但它不起作用。有人对此有快速解决方法吗?

谢谢

PS我也刚刚注意到我的字符串操作几乎都没有工作。我尝试了 toUpperCase() 之类的东西,但字符串没有发生任何事情?!?

4

5 回答 5

4

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

于 2011-12-09T00:15:49.393 回答
4

replaceAll()在这种情况下使用的方法是错误的,因为它使用正则表达式进行匹配。

您需要更简单的replace()方法来替换文字。尝试这个:

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

笔记:

  1. 你必须用另一个反斜杠来转义反斜杠,即"\\"你如何编码一个作为单个反斜杠的字符串
  2. 字符串是不可变的- 字符串方法返回一个带有结果的字符串……它们不会更改字符串。这就是为什么你需要像这样编码myString = myString.someMethod();
于 2011-12-09T00:18:07.367 回答
1

你需要做的就是 word = word.replaceAll("\", "/");

您必须知道字符串不能更改。

这些方法通过迭代字符串的字符并用正斜杠替换所有反斜杠来工作

于 2011-12-09T00:33:58.287 回答
1

在这种情况下,您需要使用:

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

toUpperCase() 返回一个字符串,它不会更改调用该方法的字符串。

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

于 2011-12-09T00:17:27.750 回答
1

字符串是不可变的。
他们永远无法改变。

你需要写word = word.something()

于 2011-12-09T00:19:53.880 回答