【问题标题】:Split a string by a plus sign (+) character用加号 (+) 字符拆分字符串
【发布时间】:2015-07-21 02:44:43
【问题描述】:

我在数据框中有一个字符串为:"(1)+(2)"

我想用分隔符“+”分割,这样我得到一个元素为(1),另一个为(2),因此保留括号。我使用了strsplit,但它没有保留括号。

【问题讨论】:

  • 你确定吗? strsplit("(1)+(2)",split="\\+") 给了我"(1)""(2)"...

标签: r strsplit


【解决方案1】:

使用

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

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

使用strsplit("(1)+(2)", "+") 的想法不起作用,因为除非另有说明,否则split 参数是正则表达式,而+ 字符在正则表达式中是特殊的。其他也需要格外小心的角色是

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

【讨论】:

  • 、= 怎么样?
  • @theforestecologist 这些不是特殊字符,因此您无需使用反斜杠 \ 转义它们。如果匹配表达式像上面那样简单,您也可以在有疑问时使用fixed = TRUE,只要不使用任何正则表达式,而只是文字。
【解决方案2】:

以下为我工作:

import re

re.split('\\+', 'ABC+CDE')

输出:

['ABC', 'CDE']

【讨论】:

  • 问题在 [r] 标签中。
猜你喜欢
  • 1970-01-01
  • 2015-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多