我有字符串some_text\1\12\3
。需要获得字符串some_text.1.12.3
,i。即将\
替换为.
。问题是Java将\1
解释为一个符号(转义符号)。实际上我需要替换部分转义符号。
答案 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('\\', '.');