如何移除R语言dataframe中<>内的非法字符?
R语言移除DataFrame字符串中<>内的字符
给定原始DataFrame:
df <- data.frame(term = c("clear text","character <U+C6C3>","<e9>guret text"))
目标是移除所有<>包裹的内容,得到如下结果:
data.frame(term = c("clear text","character","guret text"))
方法1:Base R原生实现(gsub())
利用正则表达式匹配并替换目标内容,非贪婪模式确保只匹配成对的<>及其内部字符:
df$term <- gsub("<.*?>", "", df$term) # 输出结果 df
方法2:stringr包实现(tidyverse风格)
如果常用tidyverse工具链,stringr的函数语法更直观简洁:
# 首次使用需安装:install.packages("stringr") library(stringr) df$term <- str_remove_all(df$term, "<.*?>") # 输出结果 df
正则说明:
<.*?>中的.*?是非贪婪匹配,会精准匹配从<到最近的>之间的所有内容,避免出现多个<>时匹配范围过大的问题。
内容的提问来源于stack exchange,提问作者Erik Brole
相关产品推荐
相关产品推荐

