我在包含原始json文本的数据框中有一个变量。有些观察结果有一个我想要提取的14位数字,有些则没有。如果观察结果具有以下格式的信息:
{“blur”:“10010010010010”
我想在 {“模糊”之后提取14位数字:“如果字符串的左侧部分匹配。我尝试了str_extract但我的正则表达式语法不是最好的,这里有什么建议吗?
答案 0 :(得分:1)
如果它是完全形成的JSON,你可以使用JSON解析器,但假设
NA
然后尝试这个。
strapply
的第二个参数是正则表达式。它返回与捕获组匹配的部分,即括号内正则表达式的一部分。 empty=NA
参数告诉它在没有找到任何事件时返回什么。
library(gsubfn)
s <- c('{"blur": "10010010010010"', 'abc') # test input
strapply(s, '{"blur": "(\\d+)"', empty = NA, simplify = TRUE)
## [1] "10010010010010" NA