繁体   English   中英

如何使用python re.split拆分字符串但保留数字?

[英]how to use python re.split to split string but keep digits?

我是python学习者。 我想使用python re.split()将字符串拆分为单个字符,但是我不想拆分数字。

Example: s = "100,[+split"
The result should be ["100", ",", "[", "+", "s", "p", "l", "i", "t"]

我尝试使用re.split(r'[A-Za-z]+|\\d+', s)re.findall(r'[0-9]+]|\\d+', s) ,但是我我真的不擅长使用那些方法。 有人能帮我吗? 非常感激。

您可以使用re.findall

import re
s = "100,[+split" 
new_s = re.findall('\d+|[a-zA-Z\W]', s)

输出:

['100', ',', '[', '+', 's', 'p', 'l', 'i', 't']
[re.search('\d*', s).group()] + [val for val in s if not val.isdigit()]

这样可以为该特定字符串提供所需的输出,但是在不了解您期望哪种类型的字符串的情况下,很难说它是否在所有情况下都可以使用。

这是通过在字符串中搜索数字,然后将所有非数字字符添加到列表中来实现的。

输出为:

 ['100', ',', '[', '+', 's', 'p', 'l', 'i', 't']

暂无
暂无

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

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