Kantong dalam String Penggantian di Python
Saat bekerja dengan metode sub, jika
ada sesuatu yang perlu dimasukkan ke dalam kantong dalam regex,
maka dalam string penggantian Anda dapat menyisipkan isi
kantong tersebut dengan menulis garis miring ganda \
dan nomor kantong. Misalnya, \1 -
kantong pertama, \2 - kantong kedua
dan seterusnya.
Mengapa ini diperlukan dan bagaimana menggunakannya mari kita lihat pada contoh-contoh.
Contoh
Mari kita temukan semua angka dan sebagai gantinya sisipkan angka-angka yang sama, tetapi dalam tanda kurung. Untuk melakukan ini, ganti semua angka yang ditemukan dengan angka itu sendiri, tetapi dalam tanda kurung:
txt = '1 23 456 xax'
res = re.sub('(\d+)', '(\1)', txt)
print(res)
Hasilnya, yang berikut akan ditulis ke dalam variabel :
'(1) (23) (456) xax'
Contoh
Mari kita temukan semua string yang mewakili
angka dengan iks di sekelilingnya dan ganti
angka-angka tersebut dengan angka yang sama, tetapi dengan tanda '!'
di sekitarnya:
txt = 'x1x x23x x456x xax'
res = re.sub('x(\d+)x', '!\1!', txt)
print(res)
Hasilnya, yang berikut akan ditulis ke dalam variabel :
'!1! !23! !456! xax'
Contoh
Mari kita selesaikan masalah berikut: diberikan sebuah string
'aaa@bbb ccc@ddd' - huruf, lalu
tanda @, lalu huruf. Kita perlu menukar posisi
huruf dalam substring 'aaa@bbb' sebelum
'@' dan sesudahnya:
txt = 'aaa@bbb ccc@ddd'
res = re.sub('([a-z]+)@([a-z]+)', '\2@\1', txt)
print(res)
Hasilnya, yang berikut akan ditulis ke dalam variabel :
'bbb@aaa ccc@ddd'
Tugas Praktis
Diberikan sebuah string:
txt = '12 34 56 78'
Tukar posisi digit dalam semua angka dua digit.
Diberikan sebuah string dengan tanggal:
txt = '31.12.2025'
Ubah tanggal ini menjadi '2025.12.31'.