【发布时间】:2022-06-11 02:41:40
【问题描述】:
举个例子:
Hello my name is Karl, I am finHello my name is Karl, I am fine
我想删除第二个 Hello 之前的所有内容。所以:
Hello my name is Karl, I am fine.
如果你也解释一下正则表达式中的所有函数,那就太好了。
我意识到这需要使用 str_remove() 来完成。
【问题讨论】:
举个例子:
Hello my name is Karl, I am finHello my name is Karl, I am fine
我想删除第二个 Hello 之前的所有内容。所以:
Hello my name is Karl, I am fine.
如果你也解释一下正则表达式中的所有函数,那就太好了。
我意识到这需要使用 str_remove() 来完成。
【问题讨论】:
.*(?=[a-z][A-Z]).
.* 匹配所有内容直到前瞻断言条件(?= Lookahead assertion - 断言以下正则表达式匹配
[a-z][A-Z]匹配连续的小写和大写字母) 关闭前瞻. 在前瞻之后再匹配一个字符,因为最后一个小写字母在它下面见demo
library(stringr)
s <- "Hello my name is Karl, I am fineHello my name is Karl, I am fine"
print(str_match(s, ".*(?=[a-z][A-Z]).")[1]) # Hello my name is Karl, I am fine
【讨论】: