【发布时间】:2016-01-17 11:20:30
【问题描述】:
我有一个从我的数据库收到的字符串,所以在 R 中它看起来像:
a <- c("www", "x", "yes", "\303\243")
> a
[1] "www" "x" "yes" "ã"
我想做的是找出哪些元素中有反斜杠。 我试过了:
grepl('\\',a[4])
但我不断收到错误
正则表达式'\'无效,原因是'尾随反斜杠'
无论我使用cat 还是fixed=T。
如何在列表中找到反斜杠?
【问题讨论】:
-
a[4]=>[1] "ã": R直接将\303和\243解释为对应的符号 -
也许
Encoding(a) == "latin1"? -
有趣,你不能搜索那个字符。
as.integer(charToRaw("\\")); grepl("\092", a, useBytes=TRUE, fixed=TRUE)是一个错误。 -
简单的事实是
a的任何元素中都没有反斜杠。考虑这个字符串:"Hello World!\n"。你觉得里面有反斜杠吗?此外,如果您想在带有grep的字符串中查找反斜杠,您应该:grepl("\\\\",a[4]),当然是FALSE。