1.代碼:
package Utils.Chinese; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ChineseUtil { /** * 判斷字符串是否純英文 * * @param str * @return */ public static boolean isEnglish(String str) { byte[] bytes = str.getBytes(); int i = bytes.length;// i為字節長度 int j = str.length();// j為字符長度 boolean result = i == j ? true : false; return result; } public static boolean contains(String name, String search) { boolean flag = false; // 簡拼匹配,如果輸入在字符串長度大於6就不按首字母匹配了 if (search.length() < 6) { String firstLetters = ChineseConvertFrist.convertFrist(name); // 不區分大小寫 Pattern firstLetterMatcher = Pattern.compile(search, Pattern.CASE_INSENSITIVE); flag = firstLetterMatcher.matcher(firstLetters).find(); } if (!flag) { // 如果簡拼已經找到了,就不使用全拼了 // 全拼匹配 String allLetters = ChineseConvertAll.ConvertAll(name); // 不區分大小寫 Pattern pattern2 = Pattern .compile(search, Pattern.CASE_INSENSITIVE); Matcher matcher2 = pattern2.matcher(allLetters); flag = matcher2.find(); } return flag; } }
2.測試
package Utils.Chinese; import java.io.UnsupportedEncodingException; import org.junit.Test; public class TestChinese { @Test public void test2() throws UnsupportedEncodingException{ // System.out.println(ChineseConvertAll.ConvertAll("這是什么意思!我bu明白")); // System.out.println(ChineseConvertFrist.convertFrist("這是什么意思!!!")); // System.out.println(ChineseConvertFrist.getPYChar("好")); System.out.println(ChineseUtil.isEnglish("是不是全英文")); System.out.println(ChineseUtil.isEnglish("is english")); } }
結果:
false
true
