Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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 保留字内星号,同时删除其余星号_Regex_R - Fatal编程技术网

Regex 保留字内星号,同时删除其余星号

Regex 保留字内星号,同时删除其余星号,regex,r,Regex,R,我正在尝试使用R中的gsub从字符串中删除所有-,',*,但单词内的星号有问题 例如,这句话:a*破折号--'can't not seen in word hyphen f**eb**k'应该变成a破折号not seen in word hyphen f**eb**k。(给予或接受一些额外的空格,这无关紧要。)在上一步中,所有其他标点符号都已删除 我现在使用的正则表达式可以保留单词内部的连字符和撇号,但不能保留星号,我不知道为什么 gsub("(\\w['*-]\\w)|[[:punct:]]"

我正在尝试使用R中的
gsub
从字符串中删除所有
-
'
*
,但单词内的星号有问题

例如,这句话:
a*破折号--'can't not seen in word hyphen f**eb**k'
应该变成
a破折号not seen in word hyphen f**eb**k
。(给予或接受一些额外的空格,这无关紧要。)在上一步中,所有其他标点符号都已删除

我现在使用的正则表达式可以保留单词内部的连字符和撇号,但不能保留星号,我不知道为什么

gsub("(\\w['*-]\\w)|[[:punct:]]", "\\1", x) 
这会产生:
破折号看不到字内连字符febk

当我试图避开星号时,就像这样:

gsub("(\\w['\\*-]\\w)|[[:punct:]]", "\\1", x) 
它仍然提供相同的输出


如何让R将
[]
中的星号识别为文字

在这种情况下,您似乎忘记了允许多个星号:

x <- "a* dash-- 'can't see intra-word-hyphen f**eb**k'"
gsub("(\\w['*-]*\\w)|[[:punct:]]", "\\1", x)
# [1] "a dash can't see intra-word-hyphen f**eb**k"
x