在Java中匹配管道字符

时间:2014-03-14 18:48:33

标签: java regex

如何在Java中匹配和替换Pipe字符?以下代码尝试查找并删除“|”来自str,它不起作用。

String str = "ABC | DEF | GHI";

Pattern p = Pattern.compile("\\|");
Matcher m = p.matcher();
while (m.find()) {
    str = str.replaceAll(m.group(), "");
    str = str.trim();

}

3 个答案:

答案 0 :(得分:2)

我会这样使用String.replace()

public static void main(String[] args) {
  String str = "ABC | DEF | GHI";
  System.out.println(str.replace(" | ", " "));
}

输出

ABC DEF GHI

答案 1 :(得分:0)

这将完成这项工作:

final Pattern pattern = Pattern.compile("\\s+");
str = pattern.matcher(str.replace("|", "")).replaceAll(" ").trim();

请注意,.trim()只会从输入中删除开头和尾随空格字符/换行符。

答案 2 :(得分:0)

尝试,

"ABC | DEF | GHI".replaceAll("\\s*\\|\\s*", " ");