首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >保留字里行间星号,同时移除其余的星号。

保留字里行间星号,同时移除其余的星号。
EN

Stack Overflow用户
提问于 2015-03-29 19:13:29
回答 1查看 229关注 0票数 2

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

例如,这句话:a* dash-- 'can't see intra-word-hyphen f**eb**k'应该变成a dash can't see intra-word-hyphen f**eb**k。(给或取一些额外的空格,这并不重要。)在前一步中,所有其他标点符号都已被移除。

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

代码语言:javascript
运行
复制
gsub("(\\w['*-]\\w)|[[:punct:]]", "\\1", x) 

这会产生:a dash can't see intra-word-hyphen febk

当我试图摆脱星号时,就像这样:

代码语言:javascript
运行
复制
gsub("(\\w['\\*-]\\w)|[[:punct:]]", "\\1", x) 

它仍然提供相同的输出。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-29 19:59:48

看起来,在这种情况下,您只是忘了允许使用多个星号:

代码语言:javascript
运行
复制
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"

通常,要逃离*,您需要\\*

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29333616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档