Felosztási módszer
A „split ()” módszer használható szavak felosztására a felhasználó által megadott elválasztó segítségével. A szétválasztott szavak listáját adja vissza az elválasztó nélkül. Ha a felhasználó nem határoz meg elválasztót, akkor a szóközt (egy vagy több) egyetlen elválasztóként használják.
Például az alábbi kód kimenetként „['Linux', 'Tipp']" -t adja vissza:
text = "Linux Tipp"szöveg.hasított()
Az alábbi kód a „['LinuxHint', 'com']" kimenetet adja vissza, amikor.”Elválasztóként használatos:
text = "LinuxHint.com "szöveg.hasított(".”)
Az elválasztónak nem feltétlenül egyetlen karakternek kell lennie. A felosztási módszer két érvet tartalmaz:
- szep: a hasításhoz használandó elválasztó
- maxsplit: elvégzendő osztások száma
Mindkét érv nem kötelező. Mint fent említettük, ha a „sep” argumentum nincs megadva, akkor a szóközt elválasztóként használják a felosztáshoz. A „maxsplit” argumentum alapértelmezett értéke „-1”, és alapértelmezés szerint felosztja az összes előfordulást. Vegye figyelembe az alábbi kódot:
text = "LinuxHint.társ.minket"szöveg.hasított(".”)
Kimenetként a „['LinuxHint', 'co', 'us']" szót adja vissza. Ha az elválasztó első előfordulásakor le akarja állítani a felosztást, adja meg az „1” értéket „maxsplit” argumentumként.
text = "LinuxHint.társ.minket"szöveg.hasított(".”, 1)
A fenti kód a következőt adja vissza: „['LinuxHint', 'co.us '] ”kimenetként. Csak adja meg azoknak az előfordulásoknak a számát, ahol a felosztási folyamatot le kell állítani második argumentumként.
Ne feledje, hogy ha vannak egymást követő elválasztók, akkor a többi elválasztó számára egy üres karakterláncot adunk vissza az első felosztás után (ha a „maxsplit” argumentumot nem használjuk):
text = "LinuxHint… com"szöveg.hasított(".")
A fenti kód kimenetként a [['LinuxHint', ',' com '] "szót adja vissza. Abban az esetben, ha az üres karakterláncokat el akarja távolítani az eredményül kapott listából, használhatja a következő szövegértési utasítást:
text = "LinuxHint… com"eredmény = szöveg.hasított(".")
eredmény = [elem az elemhez az eredményben, ha elem != ""]
nyomtatás (eredmény)
A fenti kódminta futtatása után kimenetként a „['LinuxHint', 'com']] szót kapja.
Ne feledje, hogy a „split ()” módszer balról jobbra mozog, hogy a karakterláncokat szavakra bontsa. Ha a karakterláncot jobbról balra akarja osztani, használja helyette az „rsplit ()” szót. Szintaxisa, használata és argumentumai pontosan megegyeznek a „split ()” módszerrel.
Ha a szétválasztó nem található a karakterláncban a „split ()” vagy „rsplit ()” metódusok használata közben, akkor az eredeti karakterlánc kerül visszaadásra egyetlen listaelemként.
Partíció módszere
A „partition ()” metódus használható sztringek felosztására, és bizonyos eltérésekkel azonos a „split ()” módszerrel. A legjelentősebb különbség az, hogy megtartja az elválasztót, és elemként tartalmazza a kapott kettéosztott szavakat tartalmazó kettőben. Ez különösen akkor hasznos, ha a karakterláncot iterálható objektummá kívánja osztani (ebben az esetben duplán), eredeti karakterek eltávolítása nélkül. Vegye figyelembe az alábbi kódot:
text = "LinuxHint.com "eredmény = szöveg.partíció (".")
nyomtatás (eredmény)
A fenti kódminta „('LinuxHint', '.',' com ') ”kimenetként. Ha azt szeretné, hogy az eredmény listatípusú legyen, használja a következő kódmintát:
text = "LinuxHint.com "eredmény = lista (szöveg.partíció ("."))
nyomtatás (eredmény)
Meg kell kapnod a „['LinuxHint', '.',' com '] ”kimenetként a fenti kódminta futtatása után.
A „partition ()” metódus csak egy „sep” nevű argumentumot tartalmaz. A felhasználók bármilyen hosszúságú elválasztót megadhatnak. A „split ()” módszerrel ellentétben ez az argumentum kötelező, ezért nem hagyhatja ki az elválasztót. Azonban elválasztóként megadhatja a szóközt.
Vegye figyelembe, hogy a particionálási módszer leáll az elválasztó első előfordulásakor. Tehát, ha a karakterlánc több elválasztót tartalmaz, a “partition ()” módszer figyelmen kívül hagyja az összes többi előfordulást. Íme egy példa erre:
text = "LinuxHint.társ.minket"eredmény = lista (szöveg.partíció ("."))
nyomtatás (eredmény)
A kódminta előállítja a „['LinuxHint', '.',' co.us '] "kimenetként. Ha el akarja osztani az elválasztó minden előfordulását, és az elválasztót is fel szeretné venni a végső listába, akkor előfordulhat, hogy „Reguláris kifejezés” vagy „RegEx” mintát kell használnia. A fent említett példához a RegEx mintát a következőképpen használhatja:
import retext = "LinuxHint.társ.minket"
eredmény = re.hasított("(\.) ", szöveg)
nyomtatás (eredmény)
Megkapja a „['LinuxHint', '.',' co ','.',' us '] "kimenetként a fenti kódminta végrehajtása után. A pont karaktert elkerülte a fent említett RegEx utasítás. Vegye figyelembe, hogy bár a fenti példa egyetlen pont karakterrel működik, előfordulhat, hogy nem működik összetett elválasztókkal és összetett karakterláncokkal. Előfordulhat, hogy meg kell határoznia a saját RegEx mintáját a felhasználási esettől függően. A példát csak azért említjük meg, hogy ötletet adjon az elválasztó végleges listában tartásának folyamatáról a RegEx utasítások segítségével.
A „partition ()” módszer néha üres karakterláncokat hagyhat, különösen akkor, ha az elválasztó nem található a felosztandó karakterláncban. Ilyen esetekben használhatja a listát megértő utasításokat az üres karakterláncok eltávolításához, amint azt a fenti „split ()” módszer szakasz leírja.
text = "LinuxHint"eredmény = lista (szöveg.partíció ("."))
eredmény = [elem az elemhez az eredményben, ha elem != ""]
nyomtatás (eredmény)
A fenti kód futtatása után kimenetként meg kell kapnia a „['LinuxHint']” szót.
Következtetés
Az egyszerű és egyértelmű felosztáshoz használhatja a „split ()” és a „partition ()” módszereket az iterálható típusok megszerzéséhez. Összetett karakterláncok és elválasztók esetén a RegEx utasításokat kell használnia.