zoukankan      html  css  js  c++  java
  • (Android) Chinese Character

    Convert Chinese strings to English strings

    Apply pinyin4j.jar

    public static class ConvertChineseToPinyin {

      public static String getPingYin(String src) {
       char[] t1 = null;
       t1 = src.toCharArray();
       String[] t2 = new String[t1.length];
       HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
       t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
       t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
       t3.setVCharType(HanyuPinyinVCharType.WITH_V);
       String t4 = "";
       int t0 = t1.length;
       try {
        for (int i = 0; i < t0; i++) {
         if (java.lang.Character.toString(t1[i]).matches(
           "[\u4E00-\u9FA5]+")) {
          t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);
          t4 += t2[0];
         } else {
          t4 += java.lang.Character.toString(t1[i]);
         }
        }
        return t4;
       } catch (Exception e) {
        e.printStackTrace();
       }
       return t4;
      }

      public static String cn2FirstSpell(String chinese) {
       StringBuffer pybf = new StringBuffer();
       char[] arr = chinese.toCharArray();
       HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
       defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
       defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
       for (int i = 0; i < arr.length; i++) {
        if (arr[i] > 128) {
         try {
          String[] _t = PinyinHelper.toHanyuPinyinStringArray(
            arr[i], defaultFormat);
          if (_t != null) {
           pybf.append(_t[0].charAt(0));
          }
         } catch (Exception e) {
          e.printStackTrace();
         }
        } else {
         pybf.append(arr[i]);
        }
       }
       return pybf.toString().replaceAll("\W", "").trim();

      }
     }

    Android API for sorting Chinese strings

    Comparator comparator = Collator
         .getInstance(java.util.Locale.CHINA);
       Collections.sort(userRealNames, comparator);

    //userRealNames is ArrayList<String>

    Check Chinese characters

    private static final boolean isChinese(char c) {
      Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
      if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
        || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
        || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
        || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
        || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
        || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
       return true;
      }
      return false;
     }

  • 相关阅读:
    目标跟踪之meanshift---均值漂移搞起2000过时的
    目标检测之人头---人头检测,安全帽检测,头盔检测,人流检测
    图像处理之opencv---常用函数
    图像处理之滤波---gabor
    图像处理之滤波---滤波在游戏中的应用boxfilter
    模式识别之不变矩---SIFT和SURF的比较
    Java容器集合类的区别用法
    java读取txt字符串挨个写入int数组
    阶段3 3.SpringMVC·_06.异常处理及拦截器_1 SpringMVC异常处理之分析和搭建环境
    阶段3 3.SpringMVC·_06.异常处理及拦截器_4 SpringMVC拦截器之介绍和搭建环境
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3327338.html
Copyright © 2011-2022 走看看