首页 > 解决方案 > R获取字符串中括号之间的字符

问题描述

我想得到括号之间的字符。

这是我的数据示例。

[ADAM SMITH] update status of [34BND001] . Status [AVAILABLE => OUT_OF_SERVICE (dirty)]

想要的输出:34BND001

谢谢,

标签: rstringselectcharacter

解决方案


我们可以使用str_extract它并将其与正则表达式匹配。在这里,我们使用正则表达式环视 ( (?<=\\[) 匹配[后跟一个或多个数字 ( \\d+) 和不是]( [^]]+)的字符

library(stringr)
str_extract(str1, "(?<=\\[)\\d+[^]]+")
#[1] "34BND001"

数据

str1 <- "[ADAM SMITH] update status of [34BND001] . Status [AVAILABLE => OUT_OF_SERVICE (dirty)]"

要了解此表达式,您可以进一步搜索 regex(正则表达式)


推荐阅读