我试图删除python中字符串的最后3个字符,我不知道这些字符是什么,所以我不能使用rstrip,我还需要删除任何空白并转换为大写

例如:

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

这是有效的,给了我BS12,这是我想要的,但是如果最后的第四个&第三个字符是相同的,我失go 了两个,如如果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相关问答推荐

OR—Tools CP SAT条件约束

在np数组上实现无重叠的二维滑动窗口

优化器的运行顺序影响PyTorch中的预测

Pandas DataFrame中行之间的差异

为一个组的每个子组绘制,

如何使用SentenceTransformers创建矢量嵌入?

在两极中过滤

python panda ExcelWriter切换动态公式到数组公式

Matplotlib中的字体权重

python中csv. Dictreader. fieldname的类型是什么?'

python sklearn ValueError:使用序列设置数组元素

解决Geopandas和Altair中的正图和投影问题

read_csv分隔符正在创建无关的空列

删除Dataframe中的第一个空白行并重新索引列

具有不同坐标的tkinter canvs.cocords()和canvs.moveto()

如何通过特定导入在类中执行Python代码

当lambda函数作为参数传递时,pyo3执行

搜索结果未显示.我的URL选项卡显示:http://127.0.0.1:8000/search?";,而不是这个:";http://127.0.0.1:8000/search?q=name";

如何判断特定的OPC UA node 是否已经存在Asyncua?

有条件的滚动平均数(面试问题)