【发布时间】:2015-06-01 18:10:05
【问题描述】:
我有一个由数字和字母组成的字符串:string = 'this1234is5678it',我希望string.split() 输出给我一个类似['this', '1234', 'is', '5678', 'it'] 的列表,在数字和字母相遇的地方拆分。有没有简单的方法可以做到这一点?
【问题讨论】:
我有一个由数字和字母组成的字符串:string = 'this1234is5678it',我希望string.split() 输出给我一个类似['this', '1234', 'is', '5678', 'it'] 的列表,在数字和字母相遇的地方拆分。有没有简单的方法可以做到这一点?
【问题讨论】:
您可以为此使用正则表达式。
import re
s = 'this1234is5678it'
re.split('(\d+)',s)
输出['this', '1234', 'is', '5678', 'it']
更新
Steve Rumbalski 在评论中提到了正则表达式中括号的重要性。他引用了文档:
如果pattern中使用了捕获括号,那么所有的文本 模式中的组也作为结果的一部分返回 列表。”如果没有括号,结果将是 ['this', 'is', '它']。
【讨论】:
['this', 'is', 'it']。