2013-10-15 25 views
1

我想在R中使用正則表達式。我對這種語言很感興趣,對於這個基本問題感到抱歉。 我正在處理這個字符串(「11.22.33.44」),我只是拿一部分(「11.22.33」)。我會刪除(「.44」)並加上55來得到結果(「11.22.3355」)。如何在R中使用正則表達式在字符串上工作

+2

是每次都會改變的字符串長度和格式嗎?如果沒有,你可以使用'substring()'來做到這一點。 – tcash21

+2

As @ tcash21說... *執行'regex'的規則是什麼? –

+0

我谷歌的「正則表達式在R」和第1獲得http://www.regular-expressions.info/rlanguage.html。檢查它是否回答你的疑惑。如果是這樣,請刪除這個問題。 – Marek

回答

2
s <- "11.22.33.44" 
sub("([[:digit:]]*\\.[[:digit:]]*\\.[[:digit:]]*)(\\.[[:digit:]]+)", "\\1", s) 
#[1] "11.22.33" 

?regex 

使用括號來劃分兩個不同的模式,並只返回匹配第一個模式的部分。第一種模式是由兩個週期分隔的任意數量的數字。在任何正則表達式函數的第一個參數中,時間段需要被轉義(兩次)。

第二個參數中的"\\1"是引用第一個模式的示例。第二個參數中的反斜槓與第一個參數中的反斜槓不同。

相關問題