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