Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex R正则表达式删除除撇号以外的所有标点符号_Regex_R - Fatal编程技术网

Regex R正则表达式删除除撇号以外的所有标点符号

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:]]",

我试图删除字符串中除撇号以外的所有标点符号。这是我的exastr2我不确定是否可以像您这样在regexp中指定除
之外的所有标点符号。我会检查带有否定的
字母数字
+
'
+
空格

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)