【问题标题】:Split the string every special character with regular expressions [duplicate]用正则表达式拆分每个特殊字符的字符串[重复]
【发布时间】:2019-10-04 21:19:34
【问题描述】:

我想将我的字符串分成几部分,但每个文本一个特殊字符。我有一个字符串: str = "ImEmRe@b'aEmRe@b'testEmRe@b'string"
我希望我的字符串每隔EmRe@b' 个字符被拆分,因为你可以看到它包含',这就是问题所在。
我尝试做re.split(r"EmRe@b'\B", str)re.split(r"EmRe@b?='\B", str),我也尝试了它们,但在模式之前没有r。我该怎么做?我对正则表达式真的很陌生。我什至会说我从未使用过它们。

【问题讨论】:

  • 您要确保' 后面有一个字符字符吗?然后只需使用re.split(r"EmRe@b'\b", text)
  • 不是重复的。如您所见,我选择了最佳答案,如果您不知道我在问题中的意思,请查看答案,您会意识到这不是重复的:)。
  • 这是重复的,因为您需要删除 \B 并且您的模式将起作用。您只需要知道\B 是什么,这就是链接帖子的内容。
  • 删除 \B 无效。标记的答案有效。

标签: python regex python-3.x string split


【解决方案1】:

首先,更改变量的名称,因为 str() 是 Python 内置函数。 如果您将变量命名为 word,则可以通过执行以下操作获得由指定字符串拆分的元素列表:

>>> word = "ImEmRe@b'aEmRe@b'testEmRe@b'string"
>>> word
"ImEmRe@b'aEmRe@b'testEmRe@b'string"
>>> word.split("EmRe@b'")
['Im', 'a', 'test', 'string']

允许您以更多方式使用它们,而不仅仅是一个字符串!当然可以保存到变量中:

>>> foo = word.split("EmRe@b'")
>>> foo
['Im', 'a', 'test', 'string']

【讨论】:

  • 谢谢!完美运行。为什么它不适用于正则表达式?
  • 不知道...我不经常使用它,因为原始 Python 为我做的更快、更容易...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-02
相关资源
最近更新 更多