3 回答

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊
str_match(),從stringr包裝中執(zhí)行此操作。它返回一個(gè)字符矩陣,其中匹配項(xiàng)中的每個(gè)組都有一列(整個(gè)匹配項(xiàng)中有一列):
> s = c("(sometext :: 0.1231313213)", "(moretext :: 0.111222)")
> str_match(s, "\\((.*?) :: (0\\.[0-9]+)\\)")
[,1] [,2] [,3]
[1,] "(sometext :: 0.1231313213)" "sometext" "0.1231313213"
[2,] "(moretext :: 0.111222)" "moretext" "0.111222"

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊
gsub從您的示例執(zhí)行此操作:
gsub("\\((.*?) :: (0\\.[0-9]+)\\)","\\1 \\2", "(sometext :: 0.1231313213)")
[1] "sometext 0.1231313213"
您需要對(duì)引號(hào)中的\ s進(jìn)行兩次轉(zhuǎn)義,然后它們才能使用正則表達(dá)式。
希望這可以幫助。
- 3 回答
- 0 關(guān)注
- 945 瀏覽
添加回答
舉報(bào)