如何在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();
}
答案 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*", " ");