如何用 R 中的反斜杠替换符号?
How to replace a symbol by a backslash in R?
你能帮我用 R 中的反斜杠替换字符吗?我的试用:
gsub("D","\","1D2")
提前致谢
从键盘输入反斜杠时,始终将其转义:
gsub("D","\\","1D2")
#[1] "1\2"
或者,
gsub("D","\","1D2", fixed=TRUE)
#[1] "1\2"
或者,
library(stringr)
str_replace("1D2","D","\\")
#[1] "1\2"
注意: 如果你想要像 "1"
这样的输出,恐怕你不能在 R 中这样做(至少在我看来是这样)。您可以在路径名中使用正斜杠来避免这种情况。
有关更多信息,请参阅 R 帮助中提出的这个问题:How to replace double backslash with single backslash in R。
gsub("\p{S}", "\\", text, perl=TRUE);
\p{S} ... 匹配 Unicode 类别符号中的一个字符。
您需要重新转义反斜杠,因为它需要作为普通 R 字符串的一部分转义一次(因此 '\'
而不是 '\'
),并且 在另外在替换模式中被gsub
处理的不一样,所以需要再次转义。以下作品:
gsub('D', '\\', '1D2')
# "1\2"
结果看起来与预期输出不同的原因是 R 实际上并没有打印结果,它打印了一个可解释的 R 字符串(注意周围的引号!)。但是如果你使用 cat
或 message
它打印正确:
cat(gsub('D', '\\', '1D2'), '\n')
# 1
你能帮我用 R 中的反斜杠替换字符吗?我的试用:
gsub("D","\","1D2")
提前致谢
从键盘输入反斜杠时,始终将其转义:
gsub("D","\\","1D2")
#[1] "1\2"
或者,
gsub("D","\","1D2", fixed=TRUE)
#[1] "1\2"
或者,
library(stringr)
str_replace("1D2","D","\\")
#[1] "1\2"
注意: 如果你想要像 "1"
这样的输出,恐怕你不能在 R 中这样做(至少在我看来是这样)。您可以在路径名中使用正斜杠来避免这种情况。
有关更多信息,请参阅 R 帮助中提出的这个问题:How to replace double backslash with single backslash in R。
gsub("\p{S}", "\\", text, perl=TRUE);
\p{S} ... 匹配 Unicode 类别符号中的一个字符。
您需要重新转义反斜杠,因为它需要作为普通 R 字符串的一部分转义一次(因此 '\'
而不是 '\'
),并且 在另外在替换模式中被gsub
处理的不一样,所以需要再次转义。以下作品:
gsub('D', '\\', '1D2')
# "1\2"
结果看起来与预期输出不同的原因是 R 实际上并没有打印结果,它打印了一个可解释的 R 字符串(注意周围的引号!)。但是如果你使用 cat
或 message
它打印正确:
cat(gsub('D', '\\', '1D2'), '\n')
# 1