如何在 R 中专门替换文本字符串中的 \r\n 个字符
How to replace \r\n characters in a text string specifically in R
我这辈子都无法从文本字符串中删除一些转义字符(在进一步处理之前)。我试过 stringi、gsub,但我就是无法获得正确的语法。
这是我的文本字符串
txt <- "c(\"\r\n Stuff from a webpage: That I scraped using webcrawler\r\n\", \"\r\n \", \"\r\n \", \"\r\n \", \"\r\n\r\n \", \"\r\n\r\n \", \"\r\n \r\n \", \"\r\n \")"
我想从这个字符串中删除“\\r\\n”。
我试过了
gsub("[\\r\\n]", "", txt) (leaves me with "rn")
gsub("[\r\n]", "", txt) (leaves me without ANY r or n in the text)
gsub("[\r\n]", "", txt) (strips nothing)
如何删除这些字符?请记住,这将需要处理其他条目,这些条目可能有以 "rn" 结尾的正常单词或中间某处有 "rn"!
谢谢!
冒着过快回答我自己的问题的风险,我找到了一个 bodge 解决方法,它只需将“\”换成罕见的占位符“__”,然后替换它:
gsub('__r__n', '', gsub('[\\]', '__', txt))
...但我认为分享更好的 "one hit" 解决方案会很有价值。
不是很漂亮,但这很有效:
library(stringr)
str_remove_all(txt, "(?<=\\n)\s+|\s+(?=\\")|\\"|(?<=\\"),|\\r(?=\\n)|(?<=\\r)\\n")
[1] "c(Stuff from a webpage: That I scraped using webcrawler)"
我确信有更高效的正则表达式解决方案,但我只是向它提供了您不想要的所有可能性。
我也去掉了所有多余的“\”、“,”和白色 space。
如果您只想匹配上面发布的结果:
str_remove_all(txt, "\\r(?=\\n)|(?<=\\r)\\n")
这将删除 \r
后跟 \n
或任何 \n
前跟 \r
的任何实例
我这辈子都无法从文本字符串中删除一些转义字符(在进一步处理之前)。我试过 stringi、gsub,但我就是无法获得正确的语法。
这是我的文本字符串
txt <- "c(\"\r\n Stuff from a webpage: That I scraped using webcrawler\r\n\", \"\r\n \", \"\r\n \", \"\r\n \", \"\r\n\r\n \", \"\r\n\r\n \", \"\r\n \r\n \", \"\r\n \")"
我想从这个字符串中删除“\\r\\n”。
我试过了
gsub("[\\r\\n]", "", txt) (leaves me with "rn")
gsub("[\r\n]", "", txt) (leaves me without ANY r or n in the text)
gsub("[\r\n]", "", txt) (strips nothing)
如何删除这些字符?请记住,这将需要处理其他条目,这些条目可能有以 "rn" 结尾的正常单词或中间某处有 "rn"!
谢谢!
冒着过快回答我自己的问题的风险,我找到了一个 bodge 解决方法,它只需将“\”换成罕见的占位符“__”,然后替换它:
gsub('__r__n', '', gsub('[\\]', '__', txt))
...但我认为分享更好的 "one hit" 解决方案会很有价值。
不是很漂亮,但这很有效:
library(stringr)
str_remove_all(txt, "(?<=\\n)\s+|\s+(?=\\")|\\"|(?<=\\"),|\\r(?=\\n)|(?<=\\r)\\n")
[1] "c(Stuff from a webpage: That I scraped using webcrawler)"
我确信有更高效的正则表达式解决方案,但我只是向它提供了您不想要的所有可能性。
我也去掉了所有多余的“\”、“,”和白色 space。
如果您只想匹配上面发布的结果:
str_remove_all(txt, "\\r(?=\\n)|(?<=\\r)\\n")
这将删除 \r
后跟 \n
或任何 \n
前跟 \r