【发布时间】:2019-01-24 10:40:45
【问题描述】:
我正在尝试将 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以外的其他语言都很好
【问题讨论】:
-
我从未尝试过使用这些特殊字符,但它不会以基本方式工作,使用
String#charAt(int index)? -
@jhamon 我猜这不起作用,字符串的长度为 4,这将导致相同的输出
-
具有预期输出的示例与实际代码和输出不同。另外我不认识古吉拉特语。你能解释一下当前输出有什么问题吗?
-
@jhamon .. 我更正了示例。我期望输出为 [વા, ન, ર](大小为 3 的列表),代码给出的输出是 [વ, ા, ન, ર](大小为 4 的列表)。
标签: java nlp nltk tokenize natural-language-processing