如何在R语言字符串列表中移除指定关键词后的数字?
移除特定关键词后的数字(R语言实现)
给定如下R语言字符串列表:
string_list <- c(">=23", ">=50", "large than 23 years", "Yes", "No2", "Yes4", "Negative", "Positive9", "Negative10")
需求是移除Yes、No、Positive、Negative之后的数字,但不改动其他内容,最终得到:
string_list <- c(">=23", ">=50", "large than 23 years", "Yes", "No", "Yes", "Negative", "Positive", "Negative")
可以使用stringr包的str_replace()函数,结合正则表达式精准匹配目标模式:
library(stringr) # 处理字符串列表 processed_list <- str_replace(string_list, "(Yes|No|Positive|Negative)(\\d+)$", "\\1") # 查看结果 processed_list
正则表达式说明
(Yes|No|Positive|Negative):捕获组,匹配指定的关键词之一(\\d+)$:匹配字符串结尾处的一个或多个数字\\1:替换时引用第一个捕获组的内容,也就是保留原关键词,去掉后面的数字
这样处理后,只会修改那些关键词后带数字的字符串,其他内容(比如>=23、large than 23 years)完全不受影响。
内容的提问来源于stack exchange,提问作者llxx2021
相关产品推荐
相关产品推荐

