我想删除字符“|” 通过使用String#replaceAll()
方法。但第一个参数是识别正则表达式元字符。
我尝试replaceAll("\|", "");
使用转义字符,但无法编译。
有没有办法删除或替换“|” Java的字符?
我想删除字符“|” 通过使用String#replaceAll()
方法。但第一个参数是识别正则表达式元字符。
我尝试replaceAll("\|", "");
使用转义字符,但无法编译。
有没有办法删除或替换“|” Java的字符?
您需要|
在使用时双重转义replaceAll()
,例如:
myString.replaceAll("\\|", "");
这是因为您的字符串实际上被解析了两次,首先是作为文字字符串,然后是作为正则表达式。因此,当您从"\\|"
第一个解析开始时,会为您提供一个文字字符串\|
,然后正则表达式解析器将其识别为|
. 在您习惯之前,这可能会有点令人困惑。
正确的答案是,不要使用replaceAll()
(替换正则表达式),使用replace()
它只是替换一个字符:
replace("|", "");
仅供参考,尽管方法名称中没有“all”,但实际上确实替换了指定字符的所有实例。
此外,这也可以完成工作:
String test = "Hello | Hi | Test";
System.out.println(test.replace("|", ""));
字符串替换方法在这里是一个有用的工具。无需使用正则表达式。