我想前兩個冒號分割字符串的列,但不能對任何後續冒號:分割字符串
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