Java判断字符串中是否包含中文方法
程序员文章站
2024-02-29 13:32:22
今天和同事在讨论一个问题,需要检查“输入的字符串中是否包含中文”,刚开始想到是用正则表达式,正则表达式中是以[u4e00-u9fa5]来全匹配字符是否是中文,但现在面临的问...
今天和同事在讨论一个问题,需要检查“输入的字符串中是否包含中文”,刚开始想到是用正则表达式,正则表达式中是以[u4e00-u9fa5]来全匹配字符是否是中文,但现在面临的问题是这个字符串中还可能包含英文字符、数字、特殊字符,一时也没想出能匹配该场景的正则表达式,后来在网上搜了下,可以使用matcher类来解决该问题,大致的代码实现如下:
import java.util.regex.matcher; import java.util.regex.pattern; public class demo { static string regex = "[\u4e00-\u9fa5]"; static pattern pat = pattern.compile(regex); public static void main(string[] args) { string input = "hell world!"; system.out.println(iscontainschinese(input)); input = "hello world"; system.out.println(iscontainschinese(input)); } public static boolean iscontainschinese(string str) { matcher matcher = pat.matcher(str); boolean flg = false; if (matcher.find()) { flg = true; } return flg; }