这是一个非常新手的问题。我自己尝试了很多,但没有成功。
我想使用re
从字符串中查找数字,但减号除外:
>>> a1 = "25 mm"
>>> b1 = "-25 mm"
>>> c1 = "s-25"
>>> d1 = "s25-"
a = re.sub(r'\D', "", a1)
提供了"25"
,这很好。
我想问一下,如何使用re
b1 和 c1 来获取"-25"
,以及如何使用 d1 得到"25"
,因为减号位于数字后面。
感谢您的帮助!
答案 0 :(得分:3)
在这里你可以尝试这个:
import re
s = re.compile(r"[+-]?\d+(?:\.\d+)?")
a1 = "25 mm"
b1 = "-25 mm"
c1 = "s-25"
d1 = "s25-"
print(s.search(d1).group(0))
print(s.search(b1).group(0))
print(s.search(c1).group(0))
print(s.search(a1).group(0))
它给出了这样的o / p:
25 #d1
-25 #b1
-25 #c1
25 #a1