Python删除字符串的最后3个字符

2024-04-23 10:22:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试删除python中字符串的最后3个字符,我不知道这些字符是什么,因此无法使用rstrip,我还需要删除任何空格并转换为大写

例如:

foo = "Bs12 3ab"
foo.replace(" ", "").rstrip(foo[-3:]).upper()

这是可行的,并给了我BS12,这是我想要的,但是如果最后的第4和第3个字符是相同的,我就松开它们,例如如果foo = "BS11 1AA"我只得到'BS'

foo的例子可以是:

BS1 1AB
bs11ab
BS111ab

字符串可以是6或7个字符,我需要删除最后3个字符(假设没有空格)

有什么建议吗?


Tags: 字符串bsfoo字符upperreplace例子空格
3条回答
>>> foo = "Bs12 3ab"
>>> foo[:-3]
'Bs12 '
>>> foo[:-3].strip()
'Bs12'
>>> foo[:-3].strip().replace(" ","")
'Bs12'
>>> foo[:-3].strip().replace(" ","").upper()
'BS12'

它不像你所期望的那样工作,因为strip是基于字符的。你需要做的是:

foo = foo.replace(' ', '')[:-3].upper()

删除任何和所有空白:

foo = ''.join(foo.split())

删除最后三个字符:

foo = foo[:-3]

转换为大写字母:

foo = foo.upper()

一行中的所有代码:

foo = ''.join(foo.split())[:-3].upper()

相关问题 更多 >