我有一个像"Titile Something/17"
这样的字符串。我需要删除"/NNN"
部分,该部分可以是3, 2, 1
位数或可能不存在。
你是如何在python中做到这一点的?感谢。
答案 0 :(得分:3)
此处不需要RegEx,只需使用内置的str.rindex
功能和slicing,就像这样
>>> data = "Titile Something/17"
>>> data[:data.rindex("/")]
'Titile Something'
>>> data[data.rindex("/") + 1:]
'17'
或者你可以使用str.rpartition
,就像这样
>>> data.rpartition('/')[0]
'Titile Something'
>>> data.rpartition('/')[2]
'17'
>>>
注意:这将在最后/
之后获得任何字符串。请谨慎使用。
如果你想确保拆分字符串实际上是数字,你可以使用str.isdigit
函数,就像这样
>>> data[data.rindex("/") + 1:].isdigit()
True
>>> data.rpartition('/')[2].isdigit()
True
答案 1 :(得分:2)
data = "Titile Something/17"
print data.split("/")[0]
'Titile Something'
print data.split("/")[-1] #last part string after separator /
'17'
或
print data.split("/")[1] # next part after separator in this case this is the same
'17'
当你想将它添加到列表时使用strip()删除换行符“\ n”
print data.split("/")[-1].strip()
'17'
〜
答案 2 :(得分:1)
\d{0,3}
匹配从零到三位数。 $
声称我们处于一条线的末端。
re.search(r'/\d{0,3}$', st).group()
示例:
>>> re.search(r'/\d{0,3}$', 'Titile Something/17').group()
'/17'
>>> re.search(r'/\d{0,3}$', 'Titile Something/1').group()
'/1'
答案 3 :(得分:1)
我需要剪掉“/ NNN”
x = "Titile Something/17"
print re.sub(r"/.*$","",x) #cuts the part after /
print re.sub(r"^.*?/","",x) #cuts the part before /
使用re.sub
你可以得到你想要的东西。