Python

Python virknes nomaiņa, izmantojot modeli

Python virknes nomaiņa, izmantojot modeli
Jebkurus virknes datus var aizstāt ar citu virkni Python, izmantojot aizstāt () metodi. Bet, ja vēlaties aizstāt jebkuru virknes daļu, saskaņojot noteiktu modeli, jums jāizmanto regulārā izteiksme. To izmanto, lai meklētu noteiktu modeli noteiktā virknes vērtībā, un virkne tiks aizstāta ar citu virkni, ja tiks atrasta atbilstība. Python izmanto "re" modulis, lai skriptā izmantotu regulārās izteiksmes modeli meklēšanai, saskaņošanai vai aizstāšanai. Regulāru izteiksmju modeļu izmantošana virkņu nomaiņai ir nedaudz lēnāka nekā parasti aizstāj () metode, taču daudzas sarežģītas meklēšanas un aizstāšanas var viegli izdarīt, izmantojot modeli. Izmantojot Python modeli, virkni var aizstāt dažādos veidos. Šajā apmācībā ir parādīti daži parastie rakstu izmantošanas veidi, lai aizstātu virkni. Spyder3 redaktors tiek izmantots, lai rakstītu un palaistu skriptu.

Metarakstu saraksts:

Pirms raksta izmantošanas, lai aizstātu virkni, jums jāzina, kā rakstīt regulāru izteiksmes modeli. Precīzai atbilstībai varat izmantot jebkuru virknes vērtību kā modeli. Bet, lai veiktu konkrētu meklēšanu, jums ir jāraksta regulārās izteiksmes modelis, izmantojot metacharacter. Zemāk ir dots modeļu rakstīšanai visbiežāk izmantoto metarakstu saraksts ar nozīmi.

    Raksturs  Apraksts
    .  To lieto, lai saskaņotu jebkuru atsevišķu rakstzīmi, izņemot jaunu līniju.
    ^  To lieto, lai saskaņotu jebkuru rakstzīmi vai virkni sākumā

virkne.

    $  To lieto, lai saskaņotu jebkuru rakstzīmi vai virkni virknes beigās.
    +  To izmanto, lai saskaņotu vienu vai vairākus modeļa gadījumus.
    ?  To lieto, lai saskaņotu nulli vai vienu modeļa parādīšanos.
   ()  To izmanto modeļu grupēšanai.
   To izmanto, lai saskaņotu, pamatojoties uz apakšējo vai augšējo vai abiem apakšējo un augšējo

robežas.

   []  To lieto, lai saskaņotu rakstzīmes, pamatojoties uz norādīto diapazonu.
   |  To izmanto, lai saskaņotu modeļus, pamatojoties uz OR loģiku.
   \  To lieto, lai noteiktu īpašas rakstzīmes vai bez rakstzīmēm, vai ciparus vai

bez cipariem.

Aizstāt metodi:

apakšsadaļa () metode "re" modulis tiek izmantots Python virknes nomaiņai.

Sintakse:

sub (modelis, aizstāt, virkne, skaits = 0, karodziņi = 0)

Šeit modeli, aizvietot un virkne ir obligāti argumenti. Ja modeli ir saskaņots ar jebkuru virkne tad tā aizstās daļu ar vērtību aizstājot arguments. Pārējie divi argumenti nav obligāti. Daži iepriekš minēto metarakstu ar sub () metodi izmantojumi ir parādīti šādos virkņu aizstāšanas piemēros.

1. piemērs: aizstājiet virkni ar precīzu atbilstību

Ja jūs zināt precīzu virknes vērtību, kuru vēlaties meklēt galvenajā virknē, meklējamo virknes vērtību varat izmantot kā paraugu apakšsadaļa () metodi. Izveidojiet pitona failu ar šādu skriptu. Šeit meklēšanas virknes vērtība ir “lietaina” un aizstājošā virknes vērtība ir “saulaina”.

#!/ usr / bin / env python3
# Importēt regex moduli
importa re
# Definējiet virkni
orgStr = "Ir lietaina diena"
# Nomainiet virkni
repStr = re.sub ("lietains", "saulains", orgStr)
# Izdrukājiet oriģinālo virkni
drukāt ("Sākotnējais teksts:", orgStr)
# Izdrukājiet nomainīto virkni
drukāt ("Aizstāts teksts:", repStr)

Izeja:

Izeja tiek parādīta attēla labajā pusē.

2. piemērs: Sākumā meklējiet un aizstājiet virkni

Izveidojiet pitona failu ar šādu skriptu, lai uzzinātu tā lietojumu '^' regulārās izteiksmes modelī. Šeit, '^ [A-Za-z] + ' tiek izmantots kā meklēšanas modelis. Tas meklēs visas alfabētiskās rakstzīmes no A uz Z un a uz z teksta sākumā un aizstājiet to ar tukšu vērtību. Aizstātā virkne tiks drukāta ar lielajiem burtiem augšējais () metodi.

#!/ usr / bin / env python3
# Importēt regex moduli
importa re
# Paņemiet virknes ievadi
originalText = ievade ("Ievadiet tekstu \ n")
# Nomainiet virkni, pamatojoties uz modeli
aizstātsTeksts = atkārtoti.apakšsadaļa ('^ [A-Za-z] +', ", originalText).augšējais ()
# Izdrukājiet nomainīto virkni
drukāt ("Aizstāts teksts:", aizstāts teksts)

Izeja:

Izeja tiek parādīta attēla labajā pusē. Šeit, "Sveiki, laipni lūgti linuxhint" tiek uzskatīts par ievadi un 'Sveiki' vārdu aizstāj ar " par modeli.

3. piemērs: virknes meklēšana un aizstāšana beigās

Izveidojiet pitona failu ar šādu skriptu, lai uzzinātu, kā lietot$ ' simbols regulārās izteiksmes modelī. Šeit, '[a-z0-9] + $'tiek izmantots kā skripta paraugs. Tas teksta beigās meklēs visus mazos alfabētus un ciparus, un, ja vērtība būs patiesa, atbilstošā daļa tiks aizstāta ar virkni. "com.bd".

#!/ usr / bin / env python3
# Importēt regex moduli
importa re
# Paņemiet virknes ievadi
originalText = input ("Ievadiet URL adresi \ n")
# Nomainiet virkni, pamatojoties uz modeli
aizstātsTeksts = atkārtoti.sub ('[a-z0-9] + $', 'kom.bd ', originalText)
# Izdrukājiet nomainīto virkni
drukāt ("Aizstāts teksts:", aizstāts teksts)

Izeja:

Izeja tiek parādīta attēla labajā pusē. Lūk, https: // www.google.com ”tiek uzskatīts par ievades tekstu un pēc aizstāšanas:“ https: // www.google.com.bd 'tiek izdrukāts kā izvads.

4. piemērs: meklējiet un aizstājiet virknes konkrēto daļu

Izveidojiet pitona failu ar šādu skriptu, lai meklētu un aizstātu teksta daļu vietā, kur modelis atbilst. Šeit e-pasta adrešu saraksts tiek piešķirts kā teksts mainīgajam mainīgajam e-pastus. '@ [a-z]' tiek izmantots meklēšanai. Tā meklēs jebkuru apakšsviru, kas sākas ar maziem alfabētiem, kam seko '@'simbols. Ja kāda apakšs virkne sakrīt, tā to aizstās ar virkni '@linuxhint".

#!/ usr / bin / env python3
# Importēt regex moduli
importa re
# Definējiet virkni
e-pasts = '\ n [e-pasts aizsargāts] \ n [e-pasts aizsargāts] \ n [e-pasts aizsargāts]'
# Nomainiet konkrēto virknes daļu, pamatojoties uz modeli
aizstātsTeksts = atkārtoti.apakšsadaļa ('@ [a-z] *', '@linuxhint', e-pasts)
# Izdrukājiet oriģinālo virkni
drukāt ("Oriģinālais teksts:", e-pasts)
# Izdrukājiet nomainīto virkni
drukāt ("\ nNomainīts teksts:", aizstāts teksts)

Izeja:

Izeja tiek parādīta attēla labajā pusē. Katra tekstā piešķirtās e-pasta adreses domēna daļa tiek aizstāta ar "linuxhint".

Secinājums:

Daži ļoti bieži parasto izteiksmes modeļu izmantošanas veidi ir parādīti šajā apmācībā virkņu nomaiņai. Python pastāv daudzas citas iespējas, lai rakstītu dažāda veida vienkāršus un sarežģītus modeļus teksta virknes meklēšanai un aizstāšanai.

Noskatieties autora video: šeit

Instalējiet jaunāko Dolphin emulatoru Gamecube un Wii operētājsistēmai Linux
Delfīnu emulators ļauj jums spēlēt izvēlētās Gamecube un Wii spēles Linux personālajos datoros (PC). Tā kā Dolphin Emulator ir brīvi pieejams un atvē...
Kā lietot GameConqueror Cheat Engine Linux
Rakstā ir sniegts ceļvedis par GameConqueror apkrāptu dzinēja izmantošanu Linux. Daudzi lietotāji, kas spēlē spēles operētājsistēmā Windows, bieži izm...
Labākie Linux spēļu konsoles emulatori
Šajā rakstā tiks uzskaitīta populārā Linux spēļu konsoles atdarināšanas programmatūra. Emulācija ir programmatūras saderības slānis, kas atdarina spēļ...