提取遵循R中模式的字符串部分[重复]
Posted
技术标签:
【中文标题】提取遵循R中模式的字符串部分[重复]【英文标题】:Extracting string part that follows a pattern in R [duplicate] 【发布时间】:2019-08-07 03:24:34 【问题描述】:我从网上收集了一个数据集,其中包含一组遵循某种模式的字符串,例如:
string <- c("<option value="AÉCIO NEVES|1117315%23221!MG=PSDB?74646">AÉCIO NEVES</option>",
"<option value="KIM KATAGUIRI|1117562%23366!SP=DEM?204536">KIM KATAGUIRI</option>")
但我只想提取介于?
和>
之间的数字。
在本例中,我想提取 74646 和 204536。有没有办法自动收集这些数字,然后将它们放入新的数据框中?
【问题讨论】:
【参考方案1】:您可以通过多种方式提取数字。例如,使用stringi
包,您可以处理任务。我在正则表达式中使用了积极的前瞻/后视。我提取了前面有?
和后面有"
的数字。
string <- c("<option value=\"AÉCIO NEVES|1117315%23221!MG=PSDB?74646\">AÉCIO NEVES</option>",
"<option value=\"KIM KATAGUIRI|1117562%23366!SP=DEM?204536\">KIM KATAGUIRI</option>")
unlist(stri_extract_all_regex(str = string, pattern = "(?<=\\?)[0-9]+(?=\")"))
#[1] "74646" "204536"
【讨论】:
以上是关于提取遵循R中模式的字符串部分[重复]的主要内容,如果未能解决你的问题,请参考以下文章