在Java中单独显示阿拉伯语/波斯语字母/字符?
我想把阿拉伯语/波斯语单词的每个字母/字符正确地分开,用一个孤立的字母/字符,而不改变它的面貌,并保持它们的中间/首字母/孤立/最后形式 下面是一个例子: 规则分段:在Java中单独显示阿拉伯语/波斯语字母/字符?,java,android,arabic,farsi,Java,Android,Arabic,Farsi,我想把阿拉伯语/波斯语单词的每个字母/字符正确地分开,用一个孤立的字母/字符,而不改变它的面貌,并保持它们的中间/首字母/孤立/最后形式 下面是一个例子: 规则分段: بابا ====> ب ا ب ا شاهین ====> ش ا ه ی ن بابا ====> بـ ـابـ ـا شاهین ====> شـ ـاهـ یـ ـن 所需分段: بابا ====> ب ا ب ا شاهین ====> ش ا ه ی ن بابا
بابا ====> ب ا ب ا
شاهین ====> ش ا ه ی ن
بابا ====> بـ ـابـ ـا
شاهین ====> شـ ـاهـ یـ ـن
所需分段:
بابا ====> ب ا ب ا
شاهین ====> ش ا ه ی ن
بابا ====> بـ ـابـ ـا
شاهین ====> شـ ـاهـ یـ ـن
您可以使用Normalizer来实现这一点。查看更多信息 比如:
String segmented = Normalizer.normalize(input, Form.NFKD).replaceAll("\\p{M}", "");
此处的链接优化了阿拉伯语输入查询,用于搜索目的,例如删除“HAMZA”。但是我想把每个字符从一个单词中分离出来,这两个是完全不同的。如果我们尝试的基本思想是在每个字符的适当一侧使用零宽度连接符和零宽度非连接符。有六个字符没有连接到下一个字符,所以它们需要特殊处理。另外,我不知道怎么处理这个LAM+ALIF韧带。