亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將單詞標記為古吉拉特語的音節(古吉拉特語字符)

將單詞標記為古吉拉特語的音節(古吉拉特語字符)

Cats萌萌 2022-05-21 20:55:44
我正在嘗試將Gujarati(一種Indian語言)單詞標記為字符。示例:???? 是單詞,然后我想要 [??, ?, ?] 等字符列表我試過java.text.BreakIterator了,Gujarati locale但沒有用。雖然它非常適用于Hindi.這是代碼:import java.text.*;import java.util.*;public class Language{    public static void main(String[] args) {        String text = "????";        Locale gujarati = new Locale("gu","IN");        BreakIterator breaker = BreakIterator.getCharacterInstance(gujarati);        breaker.setText(text);        int start = breaker.first();        for (int end = breaker.next(); end != BreakIterator.DONE; start = end, end = breaker.next()) {            System.out.println(text.substring(start,end));        }        }}輸出:????是否有任何圖書館可以正確地做到這一點?我對其他語言很好Java
查看完整描述

2 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

不確定該庫是否提供了您想要的確切解決方案,但我編寫了一個名為 MgntUtils 的庫并將其作為開源發布,可作為 Maven 中心(見此處)以及github上的 Maven 工件那里有一個實用程序可以轉換任何字符串到 unicode 序列,反之亦然。您所要做的就是:


String codes = StringUnicodeEncoderDecoder.encodeStringToUnicodeSequence("Hello world");

它會返回字符串"\u0048\u0065\u006c\u006c\u006f\u0020\u0057\u006f\u0072\u006c\u0064"


這同樣適用于任何語言的任何字符串,包括特殊字符。有一種方法可以進行解碼:


decodeUnicodeSequenceToString(String unicodeSequence)

這是javadoc鏈接。您可以輕松地將 unicode 序列字符串分解為單個 unicode 并像這樣存儲它們,甚至將它們轉換回單獨的字符串并獲取您的字符。這是文章Open Source Java library with stack trace filtering、Silent String parsing Unicode converter 和 Version comparison文章的鏈接,它解釋了該庫


查看完整回答
反對 回復 2022-05-21
?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

我編寫了一個小 Python 函數來將Gujarati單詞轉換為Syllables. 我的代碼受到這個 Github repo libindic/syllabalizer的啟發。


代碼:


def syllabify_gu(text):

        signs = [u'\u0abe',

                u'\u0abf',

                u'\u0ac0', 

                u'\u0ac1', 

                u'\u0ac2', 

                u'\u0ac3', 

                u'\u0ac4', 

                u'\u0ac5',

                u'\u0ac7', 

                u'\u0ac8', 

                u'\u0ac9',

                u'\u0acb',

                u'\u0acc',

                u'\u0a81',

                u'\u0a82',

                u'\u0a83',

                u'\u0acd'] 

        limiters = ['\"', '\'', '`', '!', ';', ', ', '?', '.']


        lst_chars = []

        for char in text:

            if char in limiters:

                lst_chars.append(char)

            elif char in signs:

                lst_chars[-1] = lst_chars[-1] + char

            else:

                try:

                    if char == u'\u0ab0' and len(lst_chars) > 0 and lst_chars[-1][-1] == u'\u0acd' and lst_chars[-1][-2] == u'\u0aa4': 

                        lst_chars[-1] = lst_chars[-1] + char

                    else:

                        lst_chars.append(char)

                except IndexError:

                    lst_chars.append(char)


        return lst_chars


syllabify_gu("????? ? ???? ?????? ????? ??, ????? ????? ??????? ??????? ??? ????? ??? ??.")

輸出:


['??',

 '??',

 '?',

 ' ',

 '?',

 ' ',

 '?',

 '???',

 ' ',

 '?',

 '??',

 '???',

 ' ',

 '?',

 '?',

 '???',

 ' ',

 '??',

 ',',

 ' ',

 '??',

 '???',

 ' ',

 '?',

 '??',

 '??',

 ' ',

 '?',

 '??',

 '??',

 '??',

 ' ',

 '??',

 '?',

 '?',

 '???',

 ' ',

 '??',

 '?',

 ' ',

 '?',

 '?',

 '?',

 '??',

 ' ',

 '?',

 '??',

 ' ',

 '??',

 '.']

在此處查找古吉拉特語字符的 Unicode 。


查看完整回答
反對 回復 2022-05-21
  • 2 回答
  • 0 關注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號