在数据框中,我有一个字符变量,其元素包括拉丁字符或阿拉伯字符或两者:
a <- data.frame(text=c('ناطرريننهمم ع نااارررر',
'blah blah blah',
'ناطيننهمم ع ناارر blah blah'))
如果相应的TRUE
中至少有1个阿拉伯字符,我需要在数据框中创建一个额外的变量a$text
。我尝试了很多regex
和Sys.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"
答案 0 :(得分:1)
如果您输入:
sapply(a$text, function(texte) {
grepl("[\\s\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]", texte)
})
你得到了
# [1] TRUE FALSE TRUE
答案 1 :(得分:0)