2015-07-21 162 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