我有一些线
string <- "Shakira - Wolf - 02.Hips don't lie.mp3"
我只需要第一部分,所以是艺术家的名字。我这样使用正则表达式
stri_extract_all_regex(string, "^.*?-")
输出:
"Shakira -"
。但我不要" -"
。如何编写正则表达式,使我只能采用第一个" -"
之前的子字符串? 最佳答案
否定的字符类方法成功:
> stri_extract_all_regex(string, "^[^-]+")
[[1]]
[1] "Shakira "
受到另一大卫的挑战,我现在尝试仅选择字母字符之间的空格,但也要使用该功能,因此要使用“正”选择策略:
string <- "Shakira and Friends - Wolf - 02.Hips don't lie.mp3"
stri_extract_all_regex(string, "^[[:alpha:]]+( *[[:alpha:]])*")
[[1]]
[1] "Shakira and Friends"