Saya mencoba untuk menghapus 3 karakter terakhir dari string dengan python, saya tidak tahu apa karakter ini jadi saya tidak bisa menggunakan rstrip
, saya juga perlu menghapus spasi putih dan mengubahnya menjadi huruf besar
contohnya adalah:
foo = "Bs12 3ab"
foo.replace(" ", "").rstrip(foo[-3:]).upper()
Ini berfungsi dan memberi saya BS12 yang saya inginkan, namun jika karakter 4 & 3 terakhir sama, saya kehilangan keduanya, misalnya jika foo = "BS11 1AA"
saya hanya mendapatkan'BS'
Contohnya foo
bisa:
BS1 1AB
bs11ab
BS111ab
String dapat terdiri dari 6 atau 7 karakter dan saya harus membuang 3 yang terakhir (dengan asumsi tidak ada spasi)
Ada tips?
''.join(foo.split())
lebih baik daripadafoo.replace(' ', '')
, ketika digunakan pada string unicode karena menghilangkan karakter spasi putih , selain' '
karakter (khususnya, ruang non-breaking juga dihapus). Yang mengatakanreplace()
mungkin jauh lebih cepat, sehingga dapat digunakan jika, katakanlah, string input diketahui dikodekan dalam ASCII, yang hanya memiliki satu karakter spasi (saya menggunakan terminologi Python 2, di sini.)