我正在尝试从R
中的字符串中提取一些关键字,如下所示。
我希望在第一个"之间找到字符串:"在每个" ["和","或" \ b"。
string <- c("[G1]3451:GHEIN, [G2]FR343:4453, [G05]RT3342:34:GR", "[L1]TTG4:4532, [L3]EK445:GHR[1C]", "[RT1]JGR:45,RE")
gsub('\\[\\S+:', '', string)
"GHEIN, 4453, GR" "4532, GHR[1C]" "45,RE"
问题是当两个&#34;:&#34;在那儿。
我应该将输出设为34:GR
而不是GR
。
out <- c("GHEIN, 4453, 34:GR", "4532, GHR[1C]", "45,RE")
如何使用regex
中的R
获得所需结果?
答案 0 :(得分:4)
让它变得非贪婪:
gsub('*?\\[\\S+:', '', string)
[1] "GHEIN, 4453, 34:GR" "4532, GHR[1C]" "45,RE"