繁体   English   中英

找到一个正则表达式语句来删除所有出现的“\”和后续符号

[英]Find a regex statement to delete all occurences of "\" and the subsequent symbol

我有一个用例

x <- "test - hello\r\n 1...124"

我想获得"test - hello 1...124 。我知道我可以使用"gsub("[\r\n]", "", x)"用于这种特定情况。但是,我是想知道如何更普遍地删除任何反斜杠后跟任何符号(例如使用像"\."和 escaping 反斜杠)。没有工作的例子是

gsub("\.", "", x) # error
gsub("\\.", "", x) # escapes "."?
gsub("\\\.", "", x) # error 
gsub("\\\\.", "", x) # ??
...

另外,我将非常感谢您解释为什么这不起作用。

对于 package strings ,您可以使用str_squish不仅删除前导和尾随空格,还可以删除中间某处的空格。

x <- "test - hello\r\n 1...124"
stringr::str_squish(x)
#> [1] "test - hello 1...124"

gsub("\\r|\\n","", x)

给出相同的结果。

如果您要同时删除换行符(或其他转义字符)和其他以\开头的字符串,则可以将两者都包含在表达式中:

\r|\n|\t|\0|\\.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM