In an example:
Hello my name is Karl, I am finHello my name is Karl, I am fine
I want to remove everything before the second Hello. So to:
Hello my name is Karl, I am fine.
It would be nice if you explain all the functions within the regex, too.
I realized that this needs to be done with str_remove().
CodePudding user response:
.*(?=[a-z][A-Z]).
.*Match everything till the lookahead assertion condition(?=Lookahead assertion - assert that the following regex matches[a-z][A-Z]Match consecutive lowercase and uppercase letters
)Close lookahead.Match one more character after lookahead as the last lowercase is under it
See the demo
R Example
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
