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

2024-04-28 05:39:55 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,我可以将"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的新手)


Tags: 字符串importrenone编辑helloworldstring
2条回答

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

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

简要说明:

  • 您在一个或多个不同分隔符的出现上拆分(>!])。
  • 为了在结果中包含分隔符,您将模式放在捕获组中,方法是在其周围放置括号。
import re

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

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

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

你要做的是找到所有单词字符非单词字符。

相关问题 更多 >