移除字符串的最后三个字符
我想在Python中去掉一个字符串最后的3个字符,但我不知道这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个(假设没有空格)。
10 个回答
24
在编程中,有时候我们需要让程序做一些事情,比如计算、存储数据或者显示信息。为了让程序能够理解我们想要的操作,我们需要用一种特定的语言来告诉它。这种语言就是编程语言。
编程语言有很多种,每种语言都有自己的规则和特点。就像我们说不同的语言一样,编程语言也有自己的语法和词汇。学习一种编程语言,就像学习一种新的语言,需要时间和练习。
在编写代码时,我们通常会把代码分成不同的部分,这样更容易管理和理解。比如,我们可以把一些常用的功能放在一个地方,这样在需要的时候就可以直接调用,而不需要每次都重新写一遍。
此外,程序在运行时可能会遇到错误,这些错误可能是因为代码写错了,或者是因为程序在处理数据时出现了问题。我们需要学会如何调试,也就是找出并修复这些错误。
总之,编程就像是在和计算机交流,我们需要用特定的方式告诉它我们想要做什么。通过不断学习和实践,我们可以变得越来越熟练。
>>> foo = "Bs12 3ab"
>>> foo[:-3]
'Bs12 '
>>> foo[:-3].strip()
'Bs12'
>>> foo[:-3].strip().replace(" ","")
'Bs12'
>>> foo[:-3].strip().replace(" ","").upper()
'BS12'
95
它的工作方式和你想的不一样,因为strip是基于字符的。你需要这样做:
foo = foo.replace(' ', '')[:-3].upper()
414
去掉所有的空格:
foo = ''.join(foo.split())
去掉最后三个字符:
foo = foo[:-3]
转换成大写字母:
foo = foo.upper()
把上面所有的代码放在一行:
foo = ''.join(foo.split())[:-3].upper()