如何在R语言中移除字符串中的\r、\n和\t转义字符?
在R中移除字符串中的\r、\n和\t字符
你可以通过两种简单的方式处理这个字符串,得到想要的干净结果:
方法1:使用基础R的gsub函数
不需要额外安装包,直接用基础R的正则替换功能:
# 定义原始字符串 raw_str <- "Způsob využití:\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tobjekt k bydlení\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t" # 第一步:移除所有\r、\n、\t字符 clean_str <- gsub("[\r\n\t]", "", raw_str) # 第二步:清理多余的连续空格(避免字符间出现多个空格) clean_str <- gsub("\\s+", " ", clean_str) # 查看结果 print(clean_str) # 输出:[1] "Způsob využití: objekt k bydlení"
- 解释:
"[\r\n\t]"是正则表达式,匹配回车符、换行符、制表符中的任意一个,用空字符串替换;"\\s+"匹配一个或多个连续空格,替换为单个空格。
方法2:使用stringr包(更直观)
如果你习惯用tidyverse系列工具,stringr包的函数更易读:
# 先安装包(仅第一次使用时需要) # install.packages("stringr") library(stringr) # 定义原始字符串 raw_str <- "Způsob využití:\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tobjekt k bydlení\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t" # 移除指定特殊字符 clean_str <- str_remove_all(raw_str, "[\r\n\t]") # 一键清理首尾空格和中间连续空格 clean_str <- str_squish(clean_str) # 查看结果 print(clean_str) # 输出:[1] "Způsob využití: objekt k bydlení"
- 解释:
str_remove_all批量移除所有匹配的特殊字符;str_squish是专门处理空格的函数,一步搞定多余空格问题。
内容的提问来源于stack exchange,提问作者walle_eva
相关产品推荐
相关产品推荐

