R使用str_extract提取字符串括号内大写字母编码序列的方法
R语言str_extract提取目标编码实现方法
首先确认你已经安装并加载了stringr包,str_extract是该包提供的字符串提取函数,完整实现代码如下:
# 加载stringr包 library(stringr) # 原始字符串向量 strings <- c("Poorly Graded Silty Sand (SP-SM).", "(Visual) Lean Clay (CL), with some sand.","Poorly Graded Silty Sand (SP-SM).","(Visual) Inorganic Silt (ML).","(Visual) Lean Clay (CL), with some sand.") # 提取括号内的大写字母编码 need <- str_extract(strings, "(?<=\\()[A-Z-]+(?=\\))")
正则匹配逻辑说明
用到的正则表达式(?<=\\()[A-Z-]+(?=\\))拆分解释:
(?<=\\()是正向回顾断言,定位左括号(之后的位置,保证提取内容不会带上左括号[A-Z-]+匹配1个及以上的大写字母或者连字符,刚好适配你需要的SP-SM、CL这类编码格式,同时会自动过滤掉(Visual)这类含小写字母的括号内容(?=\\))是正向前瞻断言,定位右括号)之前的位置,保证提取内容不会带上右括号
运行上述代码后得到的need向量和你给出的预期结果完全一致。
内容的提问来源于stack exchange,提问作者allencadbim1
相关产品推荐
相关产品推荐

