我希望能删除任何单个字符(包括字符串开头或结尾的单个字符)。例如,
应该打印出:
我尝试过:
我想在同一正则表达式中删除开头和结尾的单个字符。
String s = "I am testing regex. This'll print results for A B c d ^ * ( ) { } [ ] done .";
System.out.println(s);
应该打印出:
am testing regex. This'll print results for done
我尝试过:
s = s.replaceAll("(\\s+.(?=\\s))", " ");
这给了我:
I am testing regex. This'll print results for done .
我想在同一正则表达式中删除开头和结尾的单个字符。
.replaceAll("(?<!\\S)\\S(?!\\S)", " ")
,并且可能需要在结果上使用trim()
。 - Wiktor Stribiżew.replaceAll("(?<!\\S)[^ ](?!\\S)", " ")
,要么使用.replaceAll("(?s)(?<!\\S).(?!\\S)", " ")
都可以。 - Wiktor Stribiżew