2018-09-04 Java Code Examples for com.ibm.icu.text.Transliterator 汉字转拼音 全角转半角

https://www.programcreek.com/java-api-examples/?api=com.ibm.icu.text.Transliterator

public void testBasicFunctionality() throws Exception {
  checkToken(Transliterator.getInstance("Traditional-Simplified"), 
      "簡化字", "简化字"); 
  checkToken(Transliterator.getInstance("Katakana-Hiragana"), 
      "ヒラガナ", "ひらがな");
  checkToken(Transliterator.getInstance("Fullwidth-Halfwidth"), 
      "アルアノリウ", "アルアノリウ");
  checkToken(Transliterator.getInstance("Any-Latin"), 
      "Αλφαβητικός Κατάλογος", "Alphabētikós Katálogos");
  checkToken(Transliterator.getInstance("NFD; [:Nonspacing Mark:] Remove"), 
      "Alphabētikós Katálogos", "Alphabetikos Katalogos");
  checkToken(Transliterator.getInstance("Han-Latin"),
      "中国", "zhōng guó");
}
public void testHalfTextNorm() {
    final Transliterator transliterator = Transliterator.createFromRules("", ":: Any-Latin; ' ' > ; :: Lower; ", Transliterator.FORWARD);
    assertEquals("kyanpasu", transliterator.transliterate("キャンパス"));
    assertEquals("alphabētikóskatálogos", transliterator.transliterate("Αλφαβητικός Κατάλογος"));
    assertEquals("biologičeskom", transliterator.transliterate("биологическом"));

    assertEquals("xièxiè", transliterator.transliterate("謝謝"));
    assertEquals("xièxiè", transliterator.transliterate("谢谢"));

    assertEquals("diànnǎo", transliterator.transliterate("電腦"));
    assertEquals("diànnǎo", transliterator.transliterate("电脑"));
    assertEquals("jìsuànjī", transliterator.transliterate("計算機"));
    assertEquals("jìsuànjī", transliterator.transliterate("计算机"));
}
public void testChinese() {
    final Language cmn = Language.lookup("cmn");
    final Transliterator transliterator = Transliterator.createFromRules("", cmn.getDefaultNormalizerRules(), Transliterator.FORWARD);

    assertEquals("xiexie", transliterator.transliterate("謝謝"));
    assertEquals("xiexie", transliterator.transliterate("谢谢"));

    assertEquals("diannao", transliterator.transliterate("電腦"));
    assertEquals("diannao", transliterator.transliterate("电脑"));
    assertEquals("jisuanji", transliterator.transliterate("計算機"));
    assertEquals("jisuanji", transliterator.transliterate("计算机"));

    assertEquals("chengjiu", transliterator.transliterate("成就"));

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏码匠的流水账

聊聊resilience4j的bulkhead

resilience4j-bulkhead-0.13.0-sources.jar!/io/github/resilience4j/bulkhead/Bulkhe...

1681
来自专栏码匠的流水账

聊聊spring cloud gateway的LoadBalancerClientFilter

本文主要研究一下spring cloud gateway的LoadBalancerClientFilter

1191
来自专栏iOS开发笔记

cordova插件- Media

添加插件 $ cordova plugin add cordova-plugin-media ? 插件的使用 Methods · media.getCurre...

2634
来自专栏菩提树下的杨过

利用Boost影响Lucene查询结果的排序

以下代码在Lucene2.1下通过,主要是通过设置Document的Boost来影响文档的权重,以达到控制查询结果顺序的目的(前提是不利用Sort排序的情况下...

1946
来自专栏码匠的流水账

聊聊spring kafka的retry

spring-kafka-1.2.3.RELEASE-sources.jar!/org/springframework/kafka/listener/adapt...

1472
来自专栏V站

PHP加密解密的解析

php做为一门当下非常流行的web语言,常常看到有人求解密php文件,想当年的asp也是一样。一些人不理解为什么要混淆(加密),甚至鄙视混淆(加密),在我看来混...

1.2K2
来自专栏搞前端的李蚊子

js实现活动倒计时

1962
来自专栏李智的专栏

python pandas教程

2062
来自专栏林冠宏的技术文章

GreenDao 工具类 --- 使用 Json 快速生成 Bean、表及其结构,"炒鸡"快!

作者:林冠宏 / 指尖下的幽灵 腾讯云+社区:https://cloud.tencent.com/developer/user/1148436/activi...

4839
来自专栏菩提树下的杨过

利用Boost影响Lucene查询结果的排序

以下代码在Lucene2.1下通过,主要是通过设置Document的Boost来影响文档的权重,以达到控制查询结果顺序的目的(前提是不利用Sort排序的情况下...

1938

扫码关注云+社区

领取腾讯云代金券