在R中提取一个子串
Extract a substring in R
> ldata2[2]
[1] " \"pretty\": \"5:06 PM GMT on June 18, 2015\","
# Need to extract only the time information. In this case "5:06 PM GMT on June 18, 2015"
# My attempt
> time <- sub(".* :\"(.*)".*","\1",ldata2[1])
这是我收到的错误消息:Error: unexpected symbol in "time <- sub(".* :\"(.*)"."
帮助赞赏
library(stringr)
str_match(x, ': \"(.*)\"')[2]
#[1] "5:06 PM GMT on June 18, 2015"
cat
在创建正则表达式模式时用作参考。
x <- " \"pretty\": \"5:06 PM GMT on June 18, 2015\","
cat(x)
"pretty": "5:06 PM GMT on June 18, 2015",
反斜杠不见了。我什至没有在我的正则表达式中引用它们。模式 ': \"(.*)\"'
以冒号、space 和一组双引号开头。冒号和 space 不需要特殊字符。双引号具有特殊的正则表达式含义,因此该集合使用两个反斜杠进行转义。接下来是捕获组和另一个转义双引号集。
带子:
sub('.*: \"(.*)\",', '\1', x)
[1] "5:06 PM GMT on June 18, 2015"
您的模式与字符串不匹配,因此不会替换任何内容。这是正确的模式:
sub(".*: \"(.*)\".*","\1",ldata[2])
> ldata2[2]
[1] " \"pretty\": \"5:06 PM GMT on June 18, 2015\","
# Need to extract only the time information. In this case "5:06 PM GMT on June 18, 2015"
# My attempt
> time <- sub(".* :\"(.*)".*","\1",ldata2[1])
这是我收到的错误消息:Error: unexpected symbol in "time <- sub(".* :\"(.*)"."
帮助赞赏
library(stringr)
str_match(x, ': \"(.*)\"')[2]
#[1] "5:06 PM GMT on June 18, 2015"
cat
在创建正则表达式模式时用作参考。
x <- " \"pretty\": \"5:06 PM GMT on June 18, 2015\","
cat(x)
"pretty": "5:06 PM GMT on June 18, 2015",
反斜杠不见了。我什至没有在我的正则表达式中引用它们。模式 ': \"(.*)\"'
以冒号、space 和一组双引号开头。冒号和 space 不需要特殊字符。双引号具有特殊的正则表达式含义,因此该集合使用两个反斜杠进行转义。接下来是捕获组和另一个转义双引号集。
带子:
sub('.*: \"(.*)\",', '\1', x)
[1] "5:06 PM GMT on June 18, 2015"
您的模式与字符串不匹配,因此不会替换任何内容。这是正确的模式:
sub(".*: \"(.*)\".*","\1",ldata[2])