删除或替换“|”字符串方法

时间:2012-09-20 06:08:47

标签: java

我想删除字符“|”使用String#replaceAll()方法。 但第一个参数是识别正则表达式元字符。

我尝试使用转义字符replaceAll("\|", "");,但无法编译。

有没有办法删除或替换“|” Java的字符?

3 个答案:

答案 0 :(得分:8)

使用|时,您需要双倍转义replaceAll(),例如:

myString.replaceAll("\\|", "");

这是因为你的字符串实际上被解析两次,首先作为文字字符串然后作为正则表达式。因此,当您从"\\|"开始时,第一个解析为您提供了一个\|的文字字符串,然后正则表达式解析器将其识别为|。在你习惯它之前,这可能有点令人困惑。

答案 1 :(得分:3)

正确的答案是,不要使用replaceAll()(替换正则表达式),使用replace()只替换一个字符:

replace("|", "");

fyi,尽管方法名称中没有“all”,但实际上确实替换了指定字符的所有实例。

答案 2 :(得分:1)

此外,这也是一项工作:

String test = "Hello | Hi | Test";
System.out.println(test.replace("|", ""));

String replace method是一个有用的工具。无需使用正则表达式。