Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 从字符串中提取最后的大写字母_R_Regex_Stringr - Fatal编程技术网

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"

我正在练习R中的正则表达式。 我想摘录最后出现的两个大写字母。 我试过了

它工作得非常好。如果我想提取这种模式的最后一次出现,该怎么办。例如:

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"