Python中的字符串分割

4

有没有一种方法可以在Python中使用多个分隔符而不是一个来拆分字符串?split似乎只接受一个分隔符参数。

此外,我无法导入re模块。(这真的是主要障碍。)

您有什么建议吗?

谢谢!


4
导入 re 模块时出了什么问题?它给出了什么错误提示? - jmh
我正在为Pig编写Python UDF,并使用一个jython jar,但遇到了问题。在这里基于现有系统工作。不想与旧系统进行斗争。我只需要使用3个分隔符。分隔符的数量不是参数。 - Navneet
2个回答

9
为了在多个序列上进行分割,您可以简单地用一个序列替换所有需要分割的序列,然后在该序列上进行分割。

因此,

s = s.replace("z", "s")
s.split("s")

将按 s 和 z 进行拆分。


1

针对一系列分割器的通用方法,请问有人能够用更少的代码编写吗?

初始化变量:

>>> splits = ['.', '-', ':', ',']
>>> s='hola, que: tal. be'

分割:

>>> r = [ s ]
>>> for p in splits:
...    r =  reduce(lambda x,y: x+y, map(lambda z: z.split(p), r ))

结果:

>>> r
['hola', ' que', ' tal', ' be']

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接