gpt4 book ai didi

regex - 除了单词中的单个撇号和连字符外,删除所有标点符号

转载 作者:行者123 更新时间:2023-12-01 08:29:10 25 4
gpt4 key购买 nike

我以前问过一个类似的问题,但这个问题更具体,需要一个与之前提供的解决方案不同的解决方案,所以我希望可以发布它。我只需要在我的文本中保留撇号和字内破折号(删除所有其他标点符号)。例如,我想从 str1 获取 str2:

str1<-"I'm dash before word -word, dash &%$,. in-between word, two before word --word just dashes ------, between words word - word"
str2<-"I'm dash before word word dash in-between word two before word word just dashes between words word word"

到目前为止,我的解决方案首先删除单词之间的破折号:
gsub(" - ", " ", str1)
然后留下字母和数字字符加上剩余的破折号
gsub("[^[:alnum:]['-]", " ", str1)
问题是,它不会删除彼此后面的破折号,例如“-”和单词开头和结尾的破折号:“-word”或“word-”

最佳答案

我认为这样做:

gsub('( |^)-+|-+( |$)', '\\1', gsub("[^ [:alnum:]'-]", '', str1))
#[1] "I'm dash before word word dash in-between word two before word word just dashes between words word word"

关于regex - 除了单词中的单个撇号和连字符外,删除所有标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24762235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com