我正在尝试将古吉拉特语(一种印度
语言)单词标记为字符。
示例: વાનર 是单词,那么我想要 [વા, ન, ર] 等字符列表
我尝试了 java.text.BreakIterator
和 Gujarati
locale
但它不起作用。尽管它非常适合印地语
。
这是代码:
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
最佳答案
不确定这个库是否提供了您想要的确切解决方案,但我编写了一个名为 MgntUtils 的库,并将其作为开放源代码发布,可作为 Maven 中心上的 Maven 工件使用 (参见 here )以及 github那里有一个实用程序可以将任何字符串转换为 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 and Version comparison解释了这个库
关于java - 将单词标记为古吉拉特语的音节(古吉拉特语字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54344698/