如何在java中替换字符串中的“|”字符?

如何在java中替换字符串中的“|”字符?,java,string,Java,String,我的一个程序中有一个奇怪的问题,我只是想用或字符串替换| |的每一次出现,但出于某种原因,它用或替换了每一个空格,是某种转义字符还是什么 我一直在用这句话来做这件事 ans = ans.replaceAll("||", "OR"); 有人知道发生了什么或者我如何解决这个问题吗?replaceAll函数使用正则表达式匹配字符。由于|在正则表达式中是一个特殊字符,因此需要在正则表达式中转义|符号以匹配文字|符号 这将用或替换每个|符号 用于两个管道符号 ans = ans.replaceAll("

我的一个程序中有一个奇怪的问题,我只是想用或字符串替换| |的每一次出现,但出于某种原因,它用或替换了每一个空格,是某种转义字符还是什么

我一直在用这句话来做这件事

ans = ans.replaceAll("||", "OR");
有人知道发生了什么或者我如何解决这个问题吗?

replaceAll函数使用正则表达式匹配字符。由于|在正则表达式中是一个特殊字符,因此需要在正则表达式中转义|符号以匹配文字|符号

这将用或替换每个|符号

用于两个管道符号

ans = ans.replaceAll("\\|\\|", "OR");
这将每两个管道符号| |替换为或

replaceAll函数使用正则表达式匹配字符。由于|在正则表达式中是一个特殊字符,因此需要在正则表达式中转义|符号以匹配文字|符号

这将用或替换每个|符号

用于两个管道符号

ans = ans.replaceAll("\\|\\|", "OR");
这将用或替换每两个管道符号| |

,您可以使用replace,它在第一个参数中不使用regex

ans = ans.replace("||", "OR");
您可以使用replace,它在第一个参数中不使用regex

ans = ans.replace("||", "OR");
replaceAll使用正则表达式语法,在正则表达式中|是表示或操作的运算符,这意味着| |被解释为正则表达式:

或-空字符串或空字符串或空字符串

如果要将|更改为文字,则需要将其转义,例如,在字符串中添加\之前,需要将\写成\\

但为了避免这种混淆,您可以使用replace而不是replaceAll,这将为您提供转义部分

所以不是

ans = ans.replaceAll("||", "OR");
简单使用

ans = ans.replace("||", "OR");
replaceAll使用正则表达式语法,在正则表达式中|是表示或操作的运算符,这意味着| |被解释为正则表达式:

或-空字符串或空字符串或空字符串

如果要将|更改为文字,则需要将其转义,例如,在字符串中添加\之前,需要将\写成\\

但为了避免这种混淆,您可以使用replace而不是replaceAll,这将为您提供转义部分

所以不是

ans = ans.replaceAll("||", "OR");
简单使用

ans = ans.replace("||", "OR");

@TehDude因为您对堆栈溢出似乎很陌生,所以您可能应该阅读一下。您可能也应该接受这个答案:因为您自己说过这是解决您以前问题的完美解决方案。@TehDude因为您对堆栈溢出似乎很陌生,所以您可能应该阅读。你也应该接受这个答案:因为你自己说过这是解决你以前问题的完美方法。