如何在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因为您对堆栈溢出似乎很陌生,所以您可能应该阅读。你也应该接受这个答案:因为你自己说过这是解决你以前问题的完美方法。