【发布时间】:2018-02-20 12:41:47
【问题描述】:
对于可能出现的类似问题,我深表歉意,但我无法找到解决问题的方法。所以,我有一个三部分的字符串,用“.”分隔,例如:
a <- "XXX.YY.ZZZ"
(字符串的长度不同,也可以是a <- "XXXX.Y.ZZ",但是三部分总是被两个“.”隔开。
我解决了第一部分的问题:
library(stringi)
stri_extract(a, regex='[^.]*')
[1] "XXX"
感谢您的帮助。
【问题讨论】:
-
为什么不改用
strsplit? -
或
scan(what = "", text = a, sep = ".")。 -
我想你想要的是
stringi::stri_extract_all(a, regex='[^.]*')? -
哇!如此简单,它的工作原理!谢谢!
-
你走在正确的轨道上。就像上面提到的@tyluRp 一样,您只需将
_all位添加到str_extract的末尾即可。我使用的正则表达式命令有点不同,只提取字符:stringi::stri_extract_all(a, regex = "\\w+")