Saya memiliki serangkaian string set1
, dan semua string set1
memiliki dua substring khusus yang tidak saya perlukan dan ingin saya hapus.
Contoh Masukan:
set1={'Apple.good','Orange.good','Pear.bad','Pear.good','Banana.bad','Potato.bad'}
Jadi pada dasarnya saya ingin .good
dan .bad
substring dihapus dari semua string.
Apa yang saya coba:
for x in set1:
x.replace('.good','')
x.replace('.bad','')
Tapi ini sepertinya tidak berhasil sama sekali. Sama sekali tidak ada perubahan pada output dan itu sama dengan input. Saya mencoba menggunakan for x in list(set1)
bukan yang asli tapi itu tidak mengubah apa pun.
sumber
string.replace()
sudah ditinggalkan di python 3.x, sekarangstr.replace()
.replace
tidak mengubah string, itu mengembalikan salinan string dengan penggantinya. Anda tidak dapat mengubah string secara langsung karena string tidak dapat diubah.Anda perlu mengambil nilai kembali
x.replace
dan meletakkannya di set baru.sumber
Yang Anda butuhkan hanyalah sedikit ilmu hitam!
sumber
Anda bisa melakukan ini:
sumber
x.replace('.good',' ')
danx.replace('.bad',' ')
tidak melakukan apa pun untuk hasil akhir. Hasil cetak akan sama tanpa mereka.re.sub
, seperti ini:x = re.sub('((\.good$)|(\.bad$))', '', x)
replace
s dan pindahkan semuanya ke sature.sub
panggilan)Saya telah melakukan tes (tetapi ini bukan contoh Anda) dan data tidak mengembalikannya dengan tertib atau lengkap
Saya membuktikan bahwa ini berhasil:
atau
sumber
Ketika ada beberapa substring untuk dihapus, satu opsi sederhana dan efektif adalah untuk menggunakan
re.sub
dengan pola terkompilasi yang melibatkan menggabungkan semua substring-untuk menghapus menggunakan|
pipa regex OR ( ).sumber
Jika daftar
Saya sedang melakukan sesuatu untuk daftar yang merupakan serangkaian string dan Anda ingin menghapus semua baris yang memiliki substring tertentu yang dapat Anda lakukan ini
di mana
sub
derai yang tidak ingin Anda miliki dalam daftar garisLinSplitUnOr
sebagai contoh
Maka
A
akan menjadisumber
jika Anda menghapus sesuatu dari daftar, Anda dapat menggunakan cara ini: (sub metode peka huruf besar-kecil)
sumber