gpt4 book ai didi

regex - 提取以某个符号结尾但没有此符号的子字符串

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

我有一些字符串

string <- "Shakira - Wolf - 02.Hips don't lie.mp3"

我只想要第一部分,所以艺术家的名字。我这样使用正则表达式

stri_extract_all_regex(string, "^.*?-")

输出:"Shakira -"。但我不想要 "-"。如何编写正则表达式,它允许我只获取位于第一个 "-" 之前的 子字符串?

最佳答案

我认为你只需要(不使用外部包)

sub(" -.*", "", string)
## [1] "Shakira"

解释

这只是匹配 "-" 和它之后的所有内容,直到字符串的末尾,然后什么都不替换。这基本上让您在第一个 "-"

之前留下所有内容

如果您坚持使用 stringi 包(为了速度),您可以使用 stri_extract_first 和简单的正则表达式

stri_extract_first(string, regex = "[A-Za-z]+")
## [1] "Shakira"

关于regex - 提取以某个符号结尾但没有此符号的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27410736/

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