溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java開源好用的簡繁轉換類庫實例分析

發(fā)布時間:2022-08-13 10:13:21 來源:億速云 閱讀:118 作者:iii 欄目:開發(fā)技術

這篇文章主要講解了“java開源好用的簡繁轉換類庫實例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“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'
    }

    環(huán)境準備完畢之后,可以直接進行使用了,使用姿勢非常非常非常的簡單

    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 支持簡繁互轉,這里區(qū)分了香港繁體 + 臺灣繁體,兩者的主要區(qū)別在于某些字、詞的叫法不一樣

    通常來講,使用最簡單的簡繁互即可

    上面的case輸出結果如下:

    s2t -->這斜月三星洞&hellip;&hellip; 長壽麪,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲說西遊,許多人都這樣說,收拾一下,拾金不昧;纔=才
    s2hk -->這斜月三星洞&hellip;&hellip; 長壽麪,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲説西遊,許多人都這樣説,收拾一下,拾金不昧;才=才
    s2tw --> 這斜月三星洞&hellip;&hellip; 長壽麵,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲說西遊,許多人都這樣說,收拾一下,拾金不昧;才=才
    t2s -->這斜月三星洞&hellip;&hellip; 長壽面,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲說西游,許多人都這樣說,收拾一下,拾金不昧;才=才
    hk2s -->這斜月三星洞&hellip;&hellip; 長壽面,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲說西游,許多人都這樣說,收拾一下,拾金不昧;才=才
    tw2s -->這斜月三星洞&hellip;&hellip; 長壽面,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲說西游,許多人都這樣說,收拾一下,拾金不昧;才=才

    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 通用方法

    在第一節(jié)的使用實例中,提供了各種特有的方法來實現轉換;同樣也提供一個統(tǒng)一的方法,根據傳參的詞典類型來進行轉換;適用于統(tǒng)一api接口的設計,根據傳參來返回對應的結果場景

    ChineseUtils.transfer("一灰灰blog", TransType.SIMPLE_TO_TRADITIONAL);

    感謝各位的閱讀,以上就是“java開源好用的簡繁轉換類庫實例分析”的內容了,經過本文的學習后,相信大家對java開源好用的簡繁轉換類庫實例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

    向AI問一下細節(jié)

    免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI