Ash*_*mar 4 java regex string regex-negation
我使用正则表达式从名称中删除特殊字符.该表达式将删除除英文字母之外的所有字母.
public static void main(String args[]) {
String name = "Özcan Sevim.";
name = name.replaceAll("[^a-zA-Z\\s]", " ").trim();
System.out.println(name);
}
Run Code Online (Sandbox Code Playgroud)
输出:
zcan Sevim
Run Code Online (Sandbox Code Playgroud)
预期产出:
Özcan Sevim
Run Code Online (Sandbox Code Playgroud)
我得到了不好的结果,因为我这样做,正确的方法是删除基于ASCII码的特殊字符,以便其他字母不会被删除,有人可以帮助我使用只删除特殊字符的正则表达式.
你可以使用\p{IsLatin}或\p{IsAlphabetic}
name = name.replaceAll("[^\\p{IsLatin}]", " ").trim();
Run Code Online (Sandbox Code Playgroud)
或者删除标点符号只需使用\p{Punct}如下:
name = name.replaceAll("\\p{Punct}", " ").trim();
Run Code Online (Sandbox Code Playgroud)
输出
Özcan Sevim
Run Code Online (Sandbox Code Playgroud)
看一下正则表达式构造的摘要的完整列表,并使用可以帮助您的那个.
| 归档时间: |
|
| 查看次数: |
1063 次 |
| 最近记录: |