用r去掉希伯来语"niqqud"

Dmi*_*kin 5 regex unicode text r hebrew

一直在努力去除niqqud(用于表示元音的变音符号或区分希伯来字母的字母的替代发音).我有这个变量:sample1 < - "הֻסְמַק"

我找不到有效的方法来删除字母下面的标志.

尝试了纵梁,str_replace_all(sample1, "[^[:alnum:]]", "") 试过gsub('[:punct:]','',sample1)

没有成功... :-(任何想法?

Wik*_*żew 3

您可以使用\\p{M}Unicode 类别将变音符号与类似 Perl 的正则表达式进行匹配,并且gsub将所有这些一次性地进行匹配,如下所示:

\n\n
sample1 <- "\xd7\x94\xd6\xbb\xd7\xa1\xd6\xb0\xd7\x9e\xd6\xb7\xd7\xa7"\ngsub("\\\\p{M}", "", sample1, perl=T)\n
Run Code Online (Sandbox Code Playgroud)\n\n

结果:[1] "\xd7\x94\xd7\xa1\xd7\x9e\xd7\xa7"

\n\n

查看演示

\n\n
\n

\\p{M}\\p{Mark}:要与另一个字符组合的字符(例如重音符号、变音符号、封闭框等)。

\n
\n\n

有关更多信息,请访问Regular-Expressions.info,“Unicode 类别”

\n