下面是Java判断字符串中是否包含中文并过滤中文的完整攻略:
判断字符串中是否包含中文
Java中可以使用正则表达式来判断字符串中是否包含中文,代码示例如下:
public static boolean isContainChinese(String str) {
String reg = "[\\u4e00-\\u9fa5]";
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(str);
return matcher.find();
}
其中,[\\u4e00-\\u9fa5]
是汉字在Unicode编码中的区间范围,正则表达式中表示这个区间。Pattern.compile
方法编译正则表达式,然后使用Matcher
对象的find()
方法来进行查找匹配。
过滤字符串中的中文
在判断字符串中是否包含中文的基础上,可以使用String
类的replaceAll()
方法来过滤掉字符串中的中文,将中文替换为空字符串即可。代码示例如下:
public static String removeChinese(String str) {
String reg = "[\\u4e00-\\u9fa5]";
return str.replaceAll(reg, "");
}
其中,replaceAll()
方法的第一个参数是正则表达式,第二个参数是用于替换匹配项的字符串。上述代码中的第二个参数是空字符串,表示将中文替换为空。
示例说明
下面给出两个演示示例,说明如何使用上述代码来判断字符串中是否包含中文并过滤中文:
示例一:判断字符串是否包含中文
String str1 = "Hello World!";
String str2 = "你好,世界!";
System.out.println(isContainChinese(str1)); // false
System.out.println(isContainChinese(str2)); // true
运行上述代码,可以看到输出结果为:
false
true
表明第一个字符串不包含中文,第二个字符串包含中文。
示例二:过滤字符串中的中文
String str3 = "Hello 你好 World 世界";
System.out.println(removeChinese(str3)); // Hello World
运行上述代码,可以看到输出结果为:
Hello World
表明中文字符已经被过滤掉了,只剩下了英文字符和空格。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java判断字符串中是否包含中文并过滤中文 - Python技术站