gpt4 book ai didi

regex - 除撇号外的所有空格和标点符号上的 strsplit

转载 作者:行者123 更新时间:2023-12-04 10:02:16 33 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Regex; eliminate all punctuation except

(2 个回答)


7年前关闭。




我问过相关问题 HEREHERE .我试图概括这些答案,但失败了。

基本上我有一个字符串,我想分成单词、数字和任何类型的标点符号,但是,我想保留撇号。这是我尝试过的并且非常接近(我认为):

x <- "Raptors don't like robots! I'd pay $500.00 to rid them."

strsplit(x, "(\\s+)|(?=[[:punct:]])", perl = TRUE)

## [[1]]
## [1] "Raptors" "don" "'" "t" "like" "robots" "!"
## [8] "" "I" "'" "d" "pay" "$" "500" "." "00" "to"
## [20] "rid" "them" "."

这是我所追求的:
## [[1]]
## [1] "Raptors" "don't" "like" "robots" "!" "" "I'd"
## [8] "pay" "$" "500" "." "00" "to" "rid" "them" "."

虽然我想要一个基本的解决方案,但我希望看到其他解决方案(我确定有人有一个 stringr 解决方案),这使得这个问题更容易推广到其他人。

注: R 有一个特定的正则表达式系统。您需要熟悉 R 才能回答这个问题。

最佳答案

您可以使用负前瞻 (?!') :

strsplit(x, "(\\s+)|(?!')(?=[[:punct:]])", perl = TRUE)
# [1] "Raptors" "don't" "like" "robots" "!" "" "I'd" "pay" "$" "500" "." "00" "to" "rid" "them" "."

关于regex - 除撇号外的所有空格和标点符号上的 strsplit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22235288/

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