我试图从字符串中删除所有的-
、'
、*
,除了在单词中使用gsub
的字符串中的字符串,但是单词内的星号有问题。
例如,这句话:a* dash-- 'can't see intra-word-hyphen f**eb**k'
应该变成a dash can't see intra-word-hyphen f**eb**k
。(给或取一些额外的空格,这并不重要。)在前一步中,所有其他标点符号都已被移除。
我现在拥有的正则表达式可以保存单词内连字符和撇号,但不能保留星号,我不知道为什么。
gsub("(\\w['*-]\\w)|[[:punct:]]", "\\1", x)
这会产生:a dash can't see intra-word-hyphen febk
当我试图摆脱星号时,就像这样:
gsub("(\\w['\\*-]\\w)|[[:punct:]]", "\\1", x)
它仍然提供相同的输出。
如何让R将[ ]
中的星号识别为文字?
发布于 2015-03-29 19:59:48
看起来,在这种情况下,您只是忘了允许使用多个星号:
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"
通常,要逃离*
,您需要\\*
。
https://stackoverflow.com/questions/29333616
复制相似问题