识别字符串中的阿拉伯字符

时间:2014-10-27 08:17:31

标签: regex r

在数据框中,我有一个字符变量,其元素包括拉丁字符或阿拉伯字符或两者:

a <- data.frame(text=c('ناطرريننهمم ع نااارررر', 
               'blah blah blah', 
               'ناطيننهمم ع ناارر blah blah'))

如果相应的TRUE中至少有1个阿拉伯字符,我需要在数据框中创建一个额外的变量a$text。我尝试了很多regexSys.setlocale()设置但到目前为止找不到任何解决方案。例如:

a$test[i] <- grepl('[\\s\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]', 
                   a$text[i], perl=TRUE)

但它始终输出FALSE

当前区域设置设置为:

[1] "en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_GB.UTF-8"

2 个答案:

答案 0 :(得分:1)

如果您输入:

sapply(a$text, function(texte) {
  grepl("[\\s\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]", texte)
})

你得到了

# [1]  TRUE FALSE  TRUE

答案 1 :(得分:0)

用它来匹配其他语言字符。

\S*

查看演示: http://regex101.com/r/mG6sS6/1