java開源好用的簡繁轉換類別庫實例分析
1. 实例体验
以maven做项目管理,可以直接从中央仓库下载,再pom文件中添加以下依赖即可
<!-- https://mvnrepository.com/artifact/com.github.liuyueyi/quick-transfer-core --> <dependency> <groupId>com.github.liuyueyi</groupId> <artifactId>quick-transfer-core</artifactId> <version>0.2.6</version> </dependency>
说明:0.2.6
版本于2022-08-11上传,若在mvn仓库搜索不到,不要慌,可以先使用0.2.5
如果是gradle做项目管理,依赖同样很简单
// https://mvnrepository.com/artifact/com.github.liuyueyi/quick-transfer-core implementation 'com.github.liuyueyi:quick-transfer-core:0.2.6'
此外,针对网络不好的小伙伴,也可以通过jitpack的方式导入依赖,具体姿势如下
maven依赖
<repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository> </repositories> <dependency> <groupId>com.github.liuyueyi.quick-chinese-transfer</groupId> <artifactId>quick-transfer-core</artifactId> <version>0.2.6</version> </dependency>
gradle依赖
allprojects { repositories { ... maven { url 'https://jitpack.io' } } } dependencies { implementation 'com.github.liuyueyi.quick-chinese-transfer:quick-transfer-core:0.2.6' }
环境准备完毕之后,可以直接进行使用了,使用姿势非常非常非常的简单
public void testTrans() { String text = "这斜月三星洞…… 长寿面,孙悟空,猪八戒,唐僧,沙和尚,白龙马,李靖,托塔天王, 戏说西游,许多人都这样说,收拾一下,拾金不昧;纔=才"; // 简体转繁体 String out = ChineseUtils.s2t(text); System.out.println("s2t -->" + out); // 简体转香港繁体 String hkOut = ChineseUtils.s2hk(text); System.out.println("s2hk -->" + hkOut); // 简体转台湾繁体 String twOut = ChineseUtils.s2tw(text); System.out.println("s2tw --> " + twOut); // 繁体转简体 String origin = ChineseUtils.t2s(out); System.out.println("t2s -->" + origin); // 香港繁体转简体 System.out.println("hk2s -->" + ChineseUtils.hk2s(hkOut)); // 台湾繁体转简体 System.out.println("tw2s -->" + ChineseUtils.tw2s(twOut)); }
入口类 ChineseUtils
支持简繁互转,这里区分了香港繁体 台湾繁体,两者的主要区别在于某些字、词的叫法不一样
通常来讲,使用最简单的简繁互即可
上面的case输出结果如下:
s2t -->這斜月三星洞…… 長壽麪,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲說西遊,許多人都這樣說,收拾一下,拾金不昧;纔=才
s2hk -->這斜月三星洞…… 長壽麪,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲説西遊,許多人都這樣説,收拾一下,拾金不昧;才=才
s2tw --> 這斜月三星洞…… 長壽麵,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲說西遊,許多人都這樣說,收拾一下,拾金不昧;才=才
t2s -->这斜月三星洞…… 长寿面,孙悟空,猪八戒,唐僧,沙和尚,白龙马,李靖,托塔天王, 戏说西游,许多人都这样说,收拾一下,拾金不昧;才=才
hk2s -->这斜月三星洞…… 长寿面,孙悟空,猪八戒,唐僧,沙和尚,白龙马,李靖,托塔天王, 戏说西游,许多人都这样说,收拾一下,拾金不昧;才=才
tw2s -->这斜月三星洞…… 长寿面,孙悟空,猪八戒,唐僧,沙和尚,白龙马,李靖,托塔天王, 戏说西游,许多人都这样说,收拾一下,拾金不昧;才=才
2. 进阶使用
简繁转换,核心在于词典的管理,改类库在首次实现转换的时候,会加载词典,并解析为内部的数据结构Dict;因此第一次调用时,会出现冷启动的耗时高问题
2.1 预热
基于此,可以再合适的地方先预热加载词典;官方提供了同步预热/异步预热两种方式,如
// 预热加载所有的词典 ChineseUtils.preLoad(true, TransType.values()); // 预加载简体转繁体词典 ChineseUtils.preLoad(true, TransType.SIMPLE_TO_TRADITIONAL); // 预加载简繁互转词典 ChineseUtils.preLoad(true, TransType.SIMPLE_TO_TRADITIONAL, TransType.TRADITIONAL_TO_SIMPLE);
preLoad
方法的第一个参数,就是用来控制同步还是异步的情况
后面的参数则为希望加载的词典
2.2 卸载
同样有了预热就有卸载,对于客户端的小伙伴来说可能更关注这一点的内存占用;对于不需要的词典,可以指定卸载
// 卸载所有词典 ChineseUtils.unLoad(TransType.values()); // 卸载简繁互转词典 ChineseUtils.unLoad(TransType.SIMPLE_TO_TRADITIONAL, TransType.TRADITIONAL_TO_SIMPLE);
2.3 通用方法
在第一节的使用实例中,提供了各种特有的方法来实现转换;同样也提供一个统一的方法,根据传参的词典类型来进行转换;适用于统一api接口的设计,根据传参来返回对应的结果场景
ChineseUtils.transfer("一灰灰blog", TransType.SIMPLE_TO_TRADITIONAL);
以上是java開源好用的簡繁轉換類別庫實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Java 8引入了Stream API,提供了一種強大且表達力豐富的處理數據集合的方式。然而,使用Stream時,一個常見問題是:如何從forEach操作中中斷或返回? 傳統循環允許提前中斷或返回,但Stream的forEach方法並不直接支持這種方式。本文將解釋原因,並探討在Stream處理系統中實現提前終止的替代方法。 延伸閱讀: Java Stream API改進 理解Stream forEach forEach方法是一個終端操作,它對Stream中的每個元素執行一個操作。它的設計意圖是處

膠囊是一種三維幾何圖形,由一個圓柱體和兩端各一個半球體組成。膠囊的體積可以通過將圓柱體的體積和兩端半球體的體積相加來計算。本教程將討論如何使用不同的方法在Java中計算給定膠囊的體積。 膠囊體積公式 膠囊體積的公式如下: 膠囊體積 = 圓柱體體積 兩個半球體體積 其中, r: 半球體的半徑。 h: 圓柱體的高度(不包括半球體)。 例子 1 輸入 半徑 = 5 單位 高度 = 10 單位 輸出 體積 = 1570.8 立方單位 解釋 使用公式計算體積: 體積 = π × r2 × h (4

Spring Boot簡化了可靠,可擴展和生產就緒的Java應用的創建,從而徹底改變了Java開發。 它的“慣例慣例”方法(春季生態系統固有的慣例),最小化手動設置
