如何去掉 R 中字符串中的一个反斜杠?
How can I get rid of one backslash in a string in R?
如何从该字符串中删除所有反斜杠?
t1 <- "1"
输出:
"1[=11=]2[=11=]3[=11=]4[=11=]5"
期望的输出:
"1002003004005"
谢谢!
给你。
stringr::str_remove_all(stringi::stri_escape_unicode(t1), "\\u0")
输出为
[1] "1002003004005"
这个有点棘手,因为 "1[=15=]2[=15=]3[=15=]4[=15=]5"
并不是真正有效的字符串开头。要查看此内容:
> writeLines(t1)
1
但是,我们可以先deparse
它来创建有效的字符串。
t2 <- deparse(t1)
> t2
[1] "\"1\002\003\004\005\""
然后使用常规 gsub
删除我们作为副作用添加的 \
和引号。
t3 = gsub('\', '', t2, fixed = TRUE)
t3 = gsub('\"', '', t3)
更理想的情况是,我们编写复合正则表达式。
t3 = gsub('[(\")(\)]', '', t2)
> t3
[1] "1002003004005"
编辑:作为一名主播:
gsub('[(\")(\)]', '', deparse(t1))
您可以参考下面link以获取有关使用 gsub 的模式映射的更多详细信息:
How do I deal with special characters like \^$.?*|+()[{ in my regex?
https://rstudio.com/wp-content/uploads/2016/09/RegExCheatsheet.pdf
如何从该字符串中删除所有反斜杠?
t1 <- "1"
输出:
"1[=11=]2[=11=]3[=11=]4[=11=]5"
期望的输出:
"1002003004005"
谢谢!
给你。
stringr::str_remove_all(stringi::stri_escape_unicode(t1), "\\u0")
输出为
[1] "1002003004005"
这个有点棘手,因为 "1[=15=]2[=15=]3[=15=]4[=15=]5"
并不是真正有效的字符串开头。要查看此内容:
> writeLines(t1)
1
但是,我们可以先deparse
它来创建有效的字符串。
t2 <- deparse(t1)
> t2
[1] "\"1\002\003\004\005\""
然后使用常规 gsub
删除我们作为副作用添加的 \
和引号。
t3 = gsub('\', '', t2, fixed = TRUE)
t3 = gsub('\"', '', t3)
更理想的情况是,我们编写复合正则表达式。
t3 = gsub('[(\")(\)]', '', t2)
> t3
[1] "1002003004005"
编辑:作为一名主播:
gsub('[(\")(\)]', '', deparse(t1))
您可以参考下面link以获取有关使用 gsub 的模式映射的更多详细信息:
How do I deal with special characters like \^$.?*|+()[{ in my regex?
https://rstudio.com/wp-content/uploads/2016/09/RegExCheatsheet.pdf