gpt4 book ai didi

java - 从 Unicode 字符串中获取字数(任何语言)

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:06:04 25 4
gpt4 key购买 nike

我想从字符串中获取字数。就这么简单。问题是字符串可能是一种不可预测的语言。

因此,我需要一个签名函数 int getWordCount(String) 以及以下示例输出 -

getWordCount("供应商代发发货") => 7
getWordCount("This is a sentence") => 4

任何有关如何进行的帮助将不胜感激:)

最佳答案

标准 API 提供了 BreakIterator对于这种边界分析,但 Oracle Java 7 语言环境支持不会破坏示例字符串。

当我使用 ICU4J v51.1 BreakIterator它将样本分解为[供应, 商品, 发, 发, 货]

// import com.ibm.icu.text.BreakIterator;
String sentence = "\u4f9b\u5e94\u5546\u4ee3\u53d1\u53d1\u8d27";
BreakIterator iterator = BreakIterator.getWordInstance(Locale.CHINESE);
iterator.setText(sentence);

List<String> words = new ArrayList<>();
int start = iterator.first();
int end = iterator.next();
while (end != BreakIterator.DONE) {
words.add(sentence.substring(start, end));
start = end;
end = iterator.next();
}
System.out.println(words);

注意:我用谷歌翻译猜测“供应商代发货”是中文。显然,我不会说这种语言,所以无法评论输出的正确性。

关于java - 从 Unicode 字符串中获取字数(任何语言),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16637506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com