gpt4 book ai didi

regex - 直到下一个空格的条件的正则表达式

转载 作者:行者123 更新时间:2023-12-02 00:42:01 26 4
gpt4 key购买 nike

我如何编写一个正则表达式来抓取位于任意位置的大写字母,然后是任何后续字符,直到空格?

输入:蛋糕派类型APPLE CRUMBLE挞 toast 德克萨斯州价格

例如,我想抓取“APPLE”,尽管它前面没有空格。我想要“崩溃”。我还想要“Texas”,尽管并非所有组成部分都是大写的。

我将使用gsub(pattern, replacement = "", x = string)来获得以下输出

输出:蛋糕派型挞 toast 价格

谢谢!

最佳答案

您可以使用regmatches来提取这些子字符串。

> x <- 'cake pietypeAPPLE CRUMBLE tart toastTexas price'
> regmatches(x, gregexpr('[A-Z]\\S+', x))[[1]]
# [1] "APPLE" "CRUMBLE" "Texas"

或者,如果您只想严格匹配字母字符。

> regmatches(x, gregexpr('[A-Z][A-Za-z]+', x))[[1]]

如果您想替换它们,我会使用以下内容来避免单词之间留下多余的空格。

> gsub('[A-Z][A-Za-z]+( [A-Z][A-Za-z]+)*', '', x)
# [1] "cake pietype tart toast price"

关于regex - 直到下一个空格的条件的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25773626/

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