私は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文字を削除する必要があります(空白がないと仮定)
任意のヒント?
''.join(foo.split())
はに比べて優れていることに注意したいと思いfoo.replace(' ', '')
ます(特に、改行しないスペースも削除されます)。それはおそらくはるかに高速であるため、たとえば、入力文字列がスペース文字が1つしかないASCIIでエンコードされていることがわかっている場合に使用できます(ここではPython 2の用語を使用しています)' '
replace()