Ash*_*mar 1 java regex regex-negation
我有“D John Livingston”、“S. Jennifer Adstan”等名字,我只想从名字中删除首字母缩写,名字中的“D”和“S”。在第二个名字中。我怎样才能使用java正则表达式来做到这一点?
以下代码片段似乎运行良好:
String input = "John O'Connel";
input = input.replaceAll("\\b[A-Z]+(?:\\.|\\s+|$)", "").trim();
System.out.println(input);
John O'Connel
Run Code Online (Sandbox Code Playgroud)
您的问题充满了边缘情况,因为首字母可能是多个字母,并且可能出现在名称的开头、中间或结尾处。我用模式替换了\s*[A-Z]+(?:\.|\b),它似乎至少涵盖了你的例子。另外,我还要求String#trim()对开头或结尾处的缩写进行一些空白清理。
| 归档时间: |
|
| 查看次数: |
1797 次 |
| 最近记录: |