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