Regex R正则表达式删除除撇号以外的所有标点符号
我试图删除字符串中除撇号以外的所有标点符号。这是我的exastr2我不确定是否可以像您这样在regexp中指定除Regex R正则表达式删除除撇号以外的所有标点符号,regex,r,Regex,R,我试图删除字符串中除撇号以外的所有标点符号。这是我的exastr2我不确定是否可以像您这样在regexp中指定除“之外的所有标点符号。我会检查带有否定的字母数字+'+空格: gsub("[^'[:lower:] ]", "", str2) # per Joshua's comment # [1] "this doesn't not have an apostrophe" “否定前瞻断言”可用于在测试任何撇号是否为标点符号之前将其从考虑范围中删除 gsub("(?!')[[:punct:]]",
“
之外的所有标点符号。我会检查带有否定的字母数字
+'
+空格
:
gsub("[^'[:lower:] ]", "", str2) # per Joshua's comment
# [1] "this doesn't not have an apostrophe"
“否定前瞻断言”可用于在测试任何撇号是否为标点符号之前将其从考虑范围中删除
gsub("(?!')[[:punct:]]", "", str2, perl=TRUE)
# [1] "this doesn't not have an apostrophe"
您可以使用:
str2 <- "this doesn't not have an apostrophe,.!@#$%^&*()"
library(qdap)
strip(str2, apostrophe.remove = FALSE, lower.case = FALSE)
这取决于他想要什么。他是否想确保他只收到信件,然后你写的是最合适的。如果他真的只想删除标点符号,那么显式删除标点符号更安全。你应该使用
[[:lower:]
而不是[a-z]
,因为后者是特定于语言环境的。当然,如果两个撇号相邻出现,这不会删除。但是我想你已经知道了。FWIW,这是我见过的关于负面环视断言的最好的简短解释。你也可以排除撇号和冒号,即带有“(?!”)(?!:)[[:punt:][]”的冒号。我将同一个问题与一个不好的标题联系起来:Tyler,openNLP a“depends”软件包没有安装,并且退出时带有警告消息“不适用于R 2.15.2,因此无法安装qdap
。有什么想法吗?是的,请查看此页面:。我想你用的是mac电脑。你能告诉我iy对你有用吗?或者我可以对安装说明做些改进。泰勒,从链接上看,它很有魅力。没有问题。
str2 <- "this doesn't not have an apostrophe,.!@#$%^&*()"
library(qdap)
strip(str2, apostrophe.remove = FALSE, lower.case = FALSE)