如何用R语言的gsub函数从混合字符串中提取字母?
提取字符串中的字母
你可以通过匹配所有非字母字符并替换为空,直接提取出字符串里的字母。利用正则表达式的字符类[:alpha:](匹配所有大小写字母),结合取反符号^选中非字母内容,替换后就能得到纯字母结果:
x <- c("17UA-47", "15Y--51_*") gsub("[^[:alpha:]]", "", x) # [1] "UA" "Y"
补充说明:
[^[:alpha:]]:方括号内的^表示取反,该正则会匹配所有不是字母的字符(包括数字、符号等)- 若只需要提取大写字母,可以把正则改为
[^A-Z],结果和上述一致 - 若要同时匹配大小写字母,
[:alpha:]等价于A-Za-z,写法更简洁
内容的提问来源于stack exchange,提问作者tnt
相关产品推荐
相关产品推荐

