【发布时间】:2018-04-05 14:35:51
【问题描述】:
我正在尝试在一种印度语言(孟加拉语)中获取特定单词之前的所有单词。该技术非常适合英语,但不适用于孟加拉语:
Pattern p = Pattern.compile("([\\w\\s]+) ছবি", Pattern.UNICODE_CASE);
Matcher m = p.matcher("ক্যামেরাকে ছবি তোলা এবং ভিডিও রেকর্ড এর অনুমতি দেবেন");
while (m.find()) {
System.err.println(m.group(1));
}
所以理想情况下,我试图将单词ক্যামেরাকে 作为输出,它位于文本ছবি তোলা এবং ভিডিও রেকর্ড... 之前。顺便说一下,这是本例中的第一个词,但可能并非如此。
我该怎么做?好吧,我正在尝试在 Android 上执行此操作。
编辑
在这里尝试 Java 解决方案:
谢谢!
【问题讨论】:
-
你遇到了什么错误?
-
@AmirHKH 我没有得到任何输出!
-
试试
\p{InBeng},Pattern.compile("([\\p{InBeng}\\s]+) ছবি") -
@WiktorStribiżew 我认为这与 JDK 6 和 7 有关。我现在正在尝试!似乎只有 JDK 7 支持这些标志
-
顺便说一句,
\p{L}已经存在于 Java 6 中。
标签: java android regex string unicode