Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何用特殊字符替换字符串的a部分_Java_String_Replace - Fatal编程技术网

Java 如何用特殊字符替换字符串的a部分

Java 如何用特殊字符替换字符串的a部分,java,string,replace,Java,String,Replace,我想用“\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 如果我做了str.replaceAll(“世界”,“世界”\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 我在替换的字符串中没有看到“\”字符,我希望它能显示“Hello\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

我想用
“\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

如果我做了
str.replaceAll(“世界”,“世界”\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

我在替换的字符串中没有看到
“\”
字符,我希望它能显示
“Hello\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

str = str.replaceAll("World", "\\\\_\\\\_\\\\_\\\\_\\\\_");

\
是Java字符串中的转义字符。因此,为了表示一个文本
\
,您需要用另一个
\
作为
\
来转义它

\
也是正则表达式引擎的转义字符。因此,Java字符串中的
\\
将作为
\
发送到正则表达式引擎,它不会被逐字处理,而是用于转义以下字符

要将
\\
传递给regex引擎,您需要在Java字符串中包含
\\\\


由于您要用另一个字符串替换一个字符串(而不是模式),因此实际上不需要regex,您可以使用
string
类的
replace
方法,如下所示:

input = input.replace("World", "\\_\\_\\_\\_\\_");

看看帖子。

你需要使用4个反斜杠来插入一个反斜杠

要点是:在文字java字符串中,反斜杠是转义字符,因此文字字符串“\”是单个反斜杠。但在正则表达式中,反斜杠也是转义字符。正则表达式\匹配一个反斜杠。此正则表达式作为Java字符串,变为“\\”

因此,请尝试以下方法:

String str = "hello world";
System.out.println(str.replace("world","\\\\_\\\\_\\\\_\\\\"));
String str = "hello world";
System.out.println(str.replace("world","\\\\_\\\\_\\\\_\\\\"));