繁体   English   中英

如何在Python中使用多个分隔符分割字符串?

[英]How do you split a string in Python with multiple delimiters?

例如,我可能想将"Hello>>>World!!!!2]]splitting"["Hello", "World","2","splitting"] 它不需要是^ that ^,但我想用多个(例如5个)定界符来分割字符串。 谢谢。

编辑:我也想保留定界符,使其成为["Hello", ">>>", "World", "!!!!", "2", "]]", "splitting"]

这是我尝试过的:

>>> string = "Hello>>>World!!!!2]]splitting"
>>> import re
>>> re.split("(\W)>>>|!!!!|]]", string)
['Hello>>>World', None, '2', None, 'splitting']

(我是Regex的新手)

要使用re.split执行此操作,您可以执行以下操作:

re.split(r'(>+|!+|]+)', string)

简要解释一下:

  • 您对一个或多个不同的定界符( >!]分割。
  • 为了在结果中包括定界符,您可以通过将模式放置在捕获组中来将其放在捕获组中。
import re

a = 'Hello>>>World!!!!2]]splitting'

print(re.findall('\W+|\w+',a))

['Hello', '>>>', 'World', '!!!!', '2', ']]', 'splitting']

你在做什么是查找单词字符或非单词字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM