如何提取所有数字以及符号?
字符串可以是这些
-1+110
,+20-123
和+23-432-543
我正在使用这个简单的正则表达式
event_book_value = re.findall('\d+', event_book_value)
它返回数字,但不随符号一起返回。
答案 0 :(得分:3)
答案 1 :(得分:1)
类似的东西:
def signSplit(string):
nums = []
cur = ""
signs = "+-"
for c in string:
if c in signs:
if cur:#if there is a number (so not the very beginning) then add it to nums
nums.append(cur)
cur = c #start out with the cur storing the sign
elif c.isdigit():
cur+=c
else:
raise ValueError("unrecognised character: %r"%c)
nums.append(cur)
return nums
print(signSplit("+23-432-543"))
它可能对您的需求来说太慢了,但它可以在纯Python中运行,以便以后编辑。