如何使用regexp移除字符串中非中文与英文以外的所有字符
R语言正则表达式清理字符串方案
- 核心思路:使用
gsub()函数结合正则表达式,匹配并移除所有非中文、非英文的字符,只保留目标字符。 - 实现代码:
# 定义原字符串 ori_string <- "没a w t _ 中/国.sz" # 清理非中文与英文的字符 clean_string <- gsub("[^a-zA-Z\\u4e00-\\u9fa5]", "", ori_string) # 输出结果 clean_string
- 代码说明:
gsub():R中用于全局替换字符串的函数,会替换所有匹配到的内容- 正则表达式
[^a-zA-Z\\u4e00-\\u9fa5]:[^...]表示匹配不在括号范围内的所有字符a-zA-Z匹配大小写英文字母\\u4e00-\\u9fa5匹配所有中文汉字(R中需要用双反斜杠转义Unicode范围)
- 第二个参数
""表示将匹配到的非目标字符替换为空,即直接移除
运行上述代码后,clean_string的结果就是"没awt中国sz",符合需求。
内容的提问来源于stack exchange,提问作者anderwyang
相关产品推荐
相关产品推荐

