我想前两个冒号分割字符串的列,但不能对任何后续冒号:分割字符串
my.data <- read.table(text='
my.string some.data
123:34:56:78 -100
87:65:43:21 -200
a4:b6:c8888 -300
11:bbbb:ccccc -400
uu:vv:ww:xx -500', header = TRUE)
desired.result <- read.table(text='
my.string1 my.string2 my.string3 some.data
123 34 56:78 -100
87 65 43:21 -200
a4 b6 c8888 -300
11 bbbb ccccc -400
uu vv ww:xx -500', header = TRUE)
我已经广泛搜查,以下问题是最接近我目前的窘境:
Split on first comma in string
谢谢你的任何建议。我更喜欢使用基R.
编辑:
字符数之前第一结肠并不总是2和第一两个冒号之间的字符数并不总是2。所以,我编辑了这个例子来反映这一点。
这是一个很好的答案,但我想知道'm'中的数字是什么意思? –
'regexec()'返回一个匹配对象,其中每个匹配的第一个元素是每个组开始匹配位置的向量(首先整个匹配,所以第一个显式组是#2,第二个是#3,等等),第二个是矢量匹配长度。 'regmatches()'然后使用该匹配数据从字符串向量中提取匹配的文本。 – Simon