2015-07-21 215 views
4

我有一個數據幀中的字符串:"(1)+(2)"分割字符串用加號(+)字符

我想用分隔符「+」這樣,我得到一個元素拆分爲(1)等爲(2) ,因此保留括號。我用strsplit但它不保留括號。

+3

你確定嗎? 'strsplit(「(1)+(2)」,split =「\\ +」)'給我''(1)「'和'」(2)「'... – MichaelChirico

回答

7

使用

strsplit("(1)+(2)", "\\+") 

strsplit("(1)+(2)", "+", fixed = TRUE) 

使用strsplit("(1)+(2)", "+")不起作用,因爲除非另有說明,該split參數是一個正則表達式,而+字符是在正則表達式特殊的想法。還需要額外照顧其他字符

  • ?
  • *
  • .
  • ^
  • $
  • \
  • |
  • {}
  • []
  • ()
+0

<, >,<=, and > =? – theforestecologist

+1

@theforestecologist這些不是特殊字符,所以你不需要使用反斜槓'\'來轉義它們。如果匹配表達式像上面那樣簡單,那麼只要沒有使用任何正則表達式,而只使用文本文本,就可以在有疑問時使用'fixed = TRUE'。 – Molx