python - 删除字符串的最后 3 个字符

标签 python string

我正在尝试从 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 个字符(假设没有空格)。

最佳答案

删除所有空格:

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

删除最后三个字符:

foo = foo[:-3]

转换为大写字母:

foo = foo.upper()

一行代码:

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

关于python - 删除字符串的最后 3 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1798465/

相关文章:

Python Bokeh 将附加参数发送到小部件事件处理程序

python - RDFLib : How to create ontology in Python?

python - 解析站点中的表

python - 使用 Pandas 基于正则表达式分离列数据

string - 列表或向量上相同的头和尾操作

python - X-13-ARIMA 与 statsmodels.tsa.x13

python - 0.0000 与 pandas 中的 null 不同吗?

java - 如何将两个字符串转换为整数以便数学正确?

C# 用两个冒号分割单词

java - 如何将字符串转换为7位二进制