Poket dalam Rentetan Gantian dalam Python
Apabila bekerja dengan kaedah sub, jika
sesuatu perlu dimasukkan ke dalam poket dalam ungkapan nalar,
dalam rentetan gantian anda boleh memasukkan kandungan
poket tersebut dengan menulis garis condong berganda \
dan nombor poket. Contohnya, \1 -
poket pertama, \2 - poket kedua
dan seterusnya.
Mengapa ini diperlukan dan bagaimana menggunakannya mari kita lihat pada contoh.
Contoh
Mari cari semua nombor dan gantikannya dengan nombor yang sama, tetapi dalam kurungan. Untuk melakukan ini, gantikan semua nombor yang ditemui dengan nombor itu sendiri, tetapi dalam kurungan:
txt = '1 23 456 xax'
res = re.sub('(\d+)', '(\1)', txt)
print(res)
Hasilnya, yang berikut akan disimpan ke dalam pembolehubah:
'(1) (23) (456) xax'
Contoh
Mari cari semua rentetan yang mewakili
nombor dengan 'x' di sekelilingnya dan gantikan
nombor tersebut dengan nombor yang sama, tetapi dengan
tanda '!' di sekeliling:
txt = 'x1x x23x x456x xax'
res = re.sub('x(\d+)x', '!\1!', txt)
print(res)
Hasilnya, yang berikut akan disimpan ke dalam pembolehubah:
'!1! !23! !456! xax'
Contoh
Mari selesaikan masalah berikut: diberikan rentetan
'aaa@bbb ccc@ddd' - huruf, kemudian
tanda @, kemudian huruf. Perlu menukar tempat
huruf dalam substring 'aaa@bbb' sebelum
'@' dan selepas:
txt = 'aaa@bbb ccc@ddd'
res = re.sub('([a-z]+)@([a-z]+)', '\2@\1', txt)
print(res)
Hasilnya, yang berikut akan disimpan ke dalam pembolehubah:
'bbb@aaa ccc@ddd'
Tugas Praktikal
Diberi rentetan:
txt = '12 34 56 78'
Tukar tempat digit dalam semua nombor dua digit.
Diberi rentetan dengan tarikh:
txt = '31.12.2025'
Tukar tarikh ini kepada '2025.12.31'.