Hoje, eu estava discutindo um problema com meus colegas. Precisamos verificar se a string de entrada contém caracteres chineses. A princípio, pensei em usar expressões regulares. A expressão regular usa [u4e00-u9fa5] para corresponder totalmente aos caracteres. são chineses, mas o problema que estamos enfrentando agora é que essa string também pode conter caracteres ingleses, números e caracteres especiais. Não consegui pensar em uma expressão regular que pudesse corresponder a esse cenário. A classe Matcher pode ser usada para resolver este problema. A implementação aproximada do código é a seguinte:
importar java.util.regex.Matcher;importar 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 = "Inferno mundo!";System.out.println(isContainsChinese(input));input = "olá mundo";System.out.println(isContainsChinese(input));}public static boolean isContainsChinese(String str){Matcher matcher = pat.matcher(str);boolean flg = false;if (matcher.find()) {flg = verdadeiro;}retornar flg;}