Պայթուցիկներ փոխարինման տողում Python-ում
sub մեթոդի հետ աշխատելիս, եթե
ինչ-որ բան պետք է դնել պայթուցիկի մեջ կանոնավոր արտահայտության մեջ,
ապա փոխարինման տողում կարող եք տեղադրել այդ պայթուցիկի
բովանդակությունը գրելով կրկնակի շեղ \
և պայթուցիկի համարը: Օրինակ, \1 -
առաջին պայթուցիկը, \2 - երկրորդ պայթուցիկը
և այսպես շարունակ:
Ինչու է դա անհրաժեշտ և ինչպես օգտագործել այն եկեք նայենք օրինակներով:
Օրինակ
Եկեք գտնենք բոլոր թվերը և դրանց փոխարեն տեղադրենք նույն թվերը, բայց փակագծերում: Դրա համար բոլոր գտնված թվերը կփոխարինենք իրենք իրենցով, բայց փակագծերում:
txt = '1 23 456 xax'
res = re.sub('(\d+)', '(\1)', txt)
print(res)
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը:
'(1) (23) (456) xax'
Օրինակ
Եկեք գտնենք բոլոր տողերը, որոնք
ներկայացնում են թվեր x-երով շրջապատված և փոխարինենք այդ
թվերը իրենք իրենցով, բայց '!' նշաններով
շրջապատված:
txt = 'x1x x23x x456x xax'
res = re.sub('x(\d+)x', '!\1!', txt)
print(res)
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը:
'!1! !23! !456! xax'
Օրինակ
Եկեք լուծենք հետևյալ խնդիրը. տրված է տող
'aaa@bbb ccc@ddd' - տառեր, ապա
շնիկ, ապա տառեր: Պետք է տեղերով փոխել
'aaa@bbb' ենթատողի տառերը
'@'-ից առաջ և հետո:
txt = 'aaa@bbb ccc@ddd'
res = re.sub('([a-z]+)@([a-z]+)', '\2@\1', txt)
print(res)
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը:
'bbb@aaa ccc@ddd'
Գործնական խնդիրներ
Տրված է տող:
txt = '12 34 56 78'
Փոխեք տեղերով թվանշանները բոլոր երկնիշ թվերում:
Տրված է ամսաթվով տող:
txt = '31.12.2025'
Փոխակերպեք այս ամսաթիվը '2025.12.31' ձևաչափի: