【发布时间】:2015-01-13 12:25:00
【问题描述】:
假设我需要从一个字符串中提取不同的部分作为列表,例如我想将字符串"aaa12xxx"分成三个部分。
一种可能性是进行三个gsub 调用:
parts = c()
parts[1] = gsub('([[:alpha:]]+)([0-9]+)([[:alpha:]]+)', '\\1', "aaa12xxx")
parts[2] = gsub('([[:alpha:]]+)([0-9]+)([[:alpha:]]+)', '\\2', "aaa12xxx")
parts[3] = gsub('([[:alpha:]]+)([0-9]+)([[:alpha:]]+)', '\\3', "aaa12xxx")
当然,这似乎很浪费(即使它在for 循环内)。难道没有一个函数可以简单地从正则表达式和测试字符串中返回部分列表吗?
【问题讨论】:
标签: regex r string substring string-matching