我有一个字符串,格式如下:"Titile Something/17"
。我需要将其中的"/NNN"
部分切除,该部分可能是3、2或1
位数字,或者可能不存在。
你可以用Python怎样实现这个功能?谢谢。
我有一个字符串,格式如下:"Titile Something/17"
。我需要将其中的"/NNN"
部分切除,该部分可能是3、2或1
位数字,或者可能不存在。
你可以用Python怎样实现这个功能?谢谢。
str.rindex
函数和切片即可,例如:>>> 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
\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'
.group()
之前,我必须检查结果不是None
。 - Crollre.search
是否返回匹配对象。 - Avinash Rajdata = "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'
print data.split("/")[-1].strip()
'17'
~
split()
返回由/分隔的项目数组,这不完全符合我的任务要求。 - Crollx = "Titile Something/17"
print re.sub(r"/.*$","",x) #cuts the part after /
print re.sub(r"^.*?/","",x) #cuts the part before /
re.sub
可以实现你想要的功能。