Python bir dize son 3 karakter kaldırmak için çalışıyorum, bu karakterler ne olduğunu bilmiyorum bu yüzden kullanamıyorum rstrip, ben de herhangi bir beyaz boşluk kaldırmak ve büyük harfe dönüştürmek gerekir
bir örnek:
foo = "Bs12 3ab"
foo.replace(" ", "").rstrip(foo[-3:]).upper()
Bu eserler ve son 4 & 3 karakter eğer ben hem örneğin gevşek aynıdır ancak eğer istediğim budur bana BS12 verir foo = "BS11 1AA"Sadece almak'BS'
örnekleri fooşunlar olabilir:
BS1 1AB
bs11ab
BS111ab
Dize 6 veya 7 karakter olabilir ve son 3'ü bırakmam gerekiyor (beyaz boşluk olmadığı varsayılarak)
Herhangi bir ipucu?
''.join(foo.split())daha iyi olduğunu belirtmek isterim (özellikle, kırılmayan boşluklar da kaldırılır). Bu muhtemelen çok daha hızlıdır, bu nedenle, giriş dizelerinin yalnızca bir boşluk karakteri olan ASCII'de kodlandığı biliniyorsa kullanılabilir (burada Python 2 terminolojisi kullanıyorum.)foo.replace(' ', '')' 'replace()