java 除了英文中文,其他字符全部替换为空
时间: 2024-10-08 17:06:32 浏览: 20
java 文本字符串替换工具
在Java中,如果你想将字符串中除了英文和中文字符以外的所有字符替换为空(通常是空格或特殊字符),你可以使用正则表达式配合`replace()`方法。下面是一个简单的示例,展示如何删除非英文和中文字符:
```java
import java.text.Normalizer;
public String replaceNonAlphanumeric(String input) {
// 使用正则表达式匹配非英文和中文字符
String regex = "[^\\p{L}\\u4e00-\\u9fa5]"; // \p{L} 匹配所有字母,\u4e00-\u9fa5 匹配汉字范围
return Normalizer.normalize(input, Normalizer.Form.NFD)
.replaceAll(regex, "");
}
```
这个函数首先通过`Normalizer.normalize()`将字符串转为NFKD模式,然后使用`replaceAll()`方法删除所有非英文和非中文字符。注意这里`\p{L}`用于匹配所有Unicode字母,包括中文的部首偏旁。
使用这个函数时,记得传入待处理的字符串,它会返回一个新的字符串,其中非英文和中文字符都被替换成空字符串。
阅读全文