R 如何识别没有英文字母、数字和“的字符串”_&引用;然后替换剩下的?
我有以下数据R 如何识别没有英文字母、数字和“的字符串”_&引用;然后替换剩下的?,r,regex,R,Regex,我有以下数据 s <- c("コハニー", "Cat", "Blue", "زبان","D-1") 我使用了以下代码,但它无法识别\uu和-。我如何在正则表达式中澄清\uuu和- s[!grepl('^[A-Za-z0-9_]+$', s)] <- 'ABC' 您只需要在末尾添加-和,因此它应该是'^[A-Za-z0-9.-]+$ 我总是发现它对测试这些问题和学习正则表达式非常有帮助 s您只需要在末尾添加-和,因此应该是'^[A-Za-z0-9.-]+$ 我总是发现它对测试这些
s <- c("コハニー", "Cat", "Blue", "زبان","D-1")
我使用了以下代码,但它无法识别\uu
和-
。我如何在正则表达式中澄清\uuu
和-
s[!grepl('^[A-Za-z0-9_]+$', s)] <- 'ABC'
您只需要在末尾添加
-
和
,因此它应该是'^[A-Za-z0-9.-]+$
我总是发现它对测试这些问题和学习正则表达式非常有帮助
s您只需要在末尾添加-
和
,因此应该是'^[A-Za-z0-9.-]+$
我总是发现它对测试这些问题和学习正则表达式非常有帮助
s为了可读性,我建议使用[:alnum:]捕获字母数字字符,然后是要保留的显式非字母数字字符(例如“-”),如下所示:
s <- c("コハニー", "Cat", "Blue", "زبان","D-1")
s[!grepl('^[[:alnum:]_-]+$', s)] <- ''
s
s为了可读性,我建议使用[:alnum:]捕获字母数字字符,然后是要保留的显式非字母数字字符(例如“-”),如下所示:
s <- c("コハニー", "Cat", "Blue", "زبان","D-1")
s[!grepl('^[[:alnum:]_-]+$', s)] <- ''
s
s您可以直接在您的字符类中添加\uu
和-
(无需转义)。如果连字符是类中的第一个或最后一个字符,即
[A-Za-z0-9_-]
所以你可以试试这个:
s[!grepl('^[A-Za-z0-9_-]+$', s)] <- 'ABC'
s[!grepl('^[A-Za-z0-9_-]+$,s)]您可以直接在角色类中添加\ucode>和-
(无需转义)。如果连字符是类中的第一个或最后一个字符,即
[A-Za-z0-9_-]
所以你可以试试这个:
s[!grepl('^[A-Za-z0-9_-]+$', s)] <- 'ABC'
s[!grepl('^[A-Za-z0-9_-]+$,s)]小调:在某些情况下,您不需要双重\escape-和uu-像这里这样:s[!grepl('^[:alnum:][u-]+$,s)]谢谢,我没有意识到这一点。刚刚更新的回答会添加“[:punct:]以保留所有ASCII标点。次要说明:在某些情况下,您不需要对-和uuu:s[!grepl('^[:alnum:][u-]+$”,s)进行双转义,谢谢,我没有意识到。刚刚更新的回答会添加“[:punct:]以保留所有ASCII标点。