用转义符号中的另一个符号替换反斜杠

时间:2013-07-29 12:57:20

标签: java

我有字符串some_text\1\12\3。需要获得字符串some_text.1.12.3,i。即将\替换为.。问题是Java将\1解释为一个符号(转义符号)。实际上我需要替换部分转义符号。

2 个答案:

答案 0 :(得分:10)

听起来你所遗忘的是如何逃避Java字符串文字中反斜杠的知识 - 这是反斜杠加倍的问题:

String replaced = original.replace('\\', '.');

另一方面,不清楚文本的来源或去向 - \1部分 相关是否相关被处理为文本文字的一部分。如果您实际上尝试在Java源代码中创建一个"some_text\1\12\3"字符串,那么您需要:

String withBackslashes = "some_text\\1\\12\\3";

请注意,withBackslashes引用的字符串的实际文本只有三个反斜杠,而不是六个。只有源代码才需要它们加倍。此时,顶部的替换代码将用点替换反斜杠。

答案 1 :(得分:5)

这将完成这项工作:

str = str.replace('\\', '.');