R 从字符串中提取最后的大写字母
我正在练习R中的正则表达式。 我想摘录最后出现的两个大写字母。 我试过了 它工作得非常好。如果我想提取这种模式的最后一次出现,该怎么办。例如:R 从字符串中提取最后的大写字母,r,regex,stringr,R,Regex,Stringr,我正在练习R中的正则表达式。 我想摘录最后出现的两个大写字母。 我试过了 它工作得非常好。如果我想提取这种模式的最后一次出现,该怎么办。例如: function("kKKjhdjkaYY,") [1] "YY" 感谢您的帮助我们可以使用stri\u extract\u last\u regex从stringi软件包 library(stringi) stri_extract_last_regex("AAkjhdjkaYY,","[:upper:][:upper:]") #[1] "YY"
function("kKKjhdjkaYY,")
[1] "YY"
感谢您的帮助我们可以使用
stri\u extract\u last\u regex
从stringi
软件包
library(stringi)
stri_extract_last_regex("AAkjhdjkaYY,","[:upper:][:upper:]")
#[1] "YY"
或者,如果您想坚持使用
stringr
,我们可以提取与模式匹配的所有组,然后使用tail
library(stringr)
tail(str_extract_all("AAkjhdjkaYY,","[:upper:][:upper:]")[[1]], 1)
#[1] "YY"
RStudio提供的正则表达式备忘单将在这里真正帮助您。为此,您需要了解
$
的功能。希望这有助于您入门。或者您可以使用更具描述性的正则表达式,例如,str_extract(“kKKjhdjkaYY,”[:upper:{2}(?=[^[:upper:{2,}]*$)”
@MichaelBird如果您使用这样的正则表达式,那么我建议使用gsub
。加载外部包stringr
或stringi
,是为了避免复杂的正则表达式
library(stringr)
tail(str_extract_all("AAkjhdjkaYY,","[:upper:][:upper:]")[[1]], 1)
#[1] "YY"