我需要删除一个单词后面的标点符号。例如,word?!
应更改为word
,string:
应更改为string
。
编辑:算法应该只删除字符串末尾的标点符号。字符串中的任何标点都应该保留。例如,doesn't;
应该变为doesn't
。
答案 0 :(得分:6)
使用接受正则表达式的方法replaceAll(...)
。
String s = "don't. do' that! ";
s = s.replaceAll("(\\w+)\\p{Punct}(\\s|$)", "$1$2");
System.out.println(s);
答案 1 :(得分:2)
您可以使用正则表达式修改字符串。
String resultString = subjectString.replaceAll("([a-z]+)[?:!.,;]*", "$1");
我知道最后'
位于哪里的“单词”,它被用作标点符号。所以这个正则表达式适合你。