我的字符串末尾有一个数字,用一个空格与字符串的其余部分隔开,例如两个例子:
blah 45 blah 89
1. blah blah blah blah 42
如何在Python中使用正则表达式将字符串分隔为最后一个数字和字符串的其余部分?谢谢!
答案 0 :(得分:4)
使用str.rsplit
:
In [100]: s = 'blah 45 blah 89'
In [101]: s1, n = s.rsplit(None, 1)
In [102]: s1, n
Out[102]: ('blah 45 blah', '89')
答案 1 :(得分:2)
如果你的字符串末尾有一个数字而只想要这个数字,那么你可以使用str.rpartition()
从字符串的右边进行分区。
a = '1. blah blah blah blah 42'
b = a.rpartition(' ')
print(b)
# ('1. blah blah blah blah', ' ', '42')
print(b[-1])
# '42'
答案 2 :(得分:2)
如果你坚持使用正则表达式,那么下面将会这样做:
import re
s='blah 45 blah 89'
print re.match(r'.*\s(.*)',s).group(1)