Regex 保留字内星号,同时删除其余星号
我正在尝试使用R中的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:]]"
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