Python programoje eilutės yra pagrindinis duomenų tipas, naudojamas tekstiniams duomenims saugoti ir dirbti su jais. Eilutės padalijimas į daugybę simbolių yra dažna Python teksto apdorojimo veikla. Koduodami ar improvizuodami savo programavimo įgūdžius, jūs tikrai turėjote susidurti su daugybe scenarijų, kuriuose norėjote naudoti padalinti () Python, kad nebūtų padalintas tik vienas simbolis, o keli skyrikliai vienu metu. Šiame straipsnyje apžvelgsime skirtingus būdus Python eilutė padalinti kelis skyriklius.
Input: 'GeeksForGeeks, is an-awesome! website' Output: ['GeeksForGeeks, ', 'is', 'an-awesome!', 'website'] Explanation: In This, we are splitting the multiple delimiters from the string.>
Į Python , Galime naudoti skirtingus metodus, kad atskirtume kelis skyriklius iš eilutės. Taikant šiuos metodus, atskirų simbolių skaidymas ir manipuliavimas iš eilutės Python yra paprastas.
- Naudojant Padalijimo funkcija
- Naudojamas pakeisti ()
- Naudojant re.split()
- Naudojant re.findall()
Padalinkite eilutę keliais skyrikliais naudodami padalijimo funkciją
Python, mes galime išskaidyti kelis simbolius iš eilutės naudodami split (). Čia mes kartojame kiekvieną skyriklį ir padalijame eilutę naudodami Split() funkcija. Padalinę gautą sąrašą sujungiame tarpais naudodami join() funkcija ir padalijame pakeistą eilutę pagal tarpą, kad gautume norimą eilučių sąrašą.
Python3
string>=> 'GeeksForGeeks, | is an-awesome! website'> delimiters>=> [>','>,>'|'>,>';'>,>'!'>]> for> delimiter>in> delimiters:> >string>=> ' '>.join(string.split(delimiter))> result>=> string.split()> print>(result)> |
kas yra urfi javed
>
>
Išvestis
['GeeksForGeeks', 'is', 'an-awesome', 'website']>
Python padalintas iš kelių simbolių naudojant „replace“ ()
Python, mes galime padalinti kelis simbolius iš eilutės naudodami pakeisti (). Tai labai naujokas padalijimo būdas. Jame nenaudojama reguliarioji išraiška ir ji yra neveiksminga, tačiau vis tiek verta pabandyti. Jei žinote simbolius, kuriuos norite atskirti, tiesiog pakeiskite juos tarpu ir naudokite padalinti () .
Python3
data>=> 'Let's_try, this now'> # printing original string> print>(>'The original string is : '> +> data)> # Using replace() and split()> # Splitting characters in String> res>=> data.replace(>'_'>,>' '>).replace(>', '>,>' '>).split()> print>(>'The list after performing split functionality : '> +> str>(res))> |
>
>
Išvestis
The original string is : Let's_try, this now The list after performing split functionality : ['Let's', 'try', 'this', 'now']>
Python padalintas keliais simboliais naudojant Re.split()
Python, mes galime padalinti kelis simbolius iš eilutės naudodami perskirstymas (). Tai yra efektyviausias ir dažniausiai naudojamas būdas padalinti kelis simbolius vienu metu. Tam jis naudoja reguliariąsias išraiškas (reguliariąsias išraiškas).
Python3
import> re> data>=> 'techcodeview.com, is_an-awesome ! website'> print>(>'The original string is : '> +> data)> # Using re.split()> # Splitting characters in String> res>=> re.split(>', |_|-|!'>, data)> print>(>'The list after performing split functionality : '> +> str>(res))> |
>
>
Išvestis
The original string is : techcodeview.com, is_an-awesome ! website The list after performing split functionality : ['techcodeview.com', 'is', 'an', 'awesome ', ' website']>
Eilutė re.split(‘, |_|-|!’, data) nurodo Python padalinti kintamųjų duomenis pagal simbolius: , arba _ arba – arba ! . Simbolis | atstovauja arba. Yra keletas reguliariosios išraiškos simbolių, kurie laikomi specialiais simboliais ir atlieka skirtingas funkcijas. Jei norite padalyti ant tokio simbolio, turite pabėgti nuo jo naudodami a (atgalinis pasvirasis brūkšnys), o prieš ir po specialiųjų simbolių reikia vienos vietos.
Specialiųjų simbolių, kuriuos reikia pakeisti prieš naudojant, sąrašas:
. + * ? [ ^ ] $ ( ) { } = | :> Pavyzdys: Šiame kode mes naudojame perskirstymą (), kad padalintume simbolius iš eilučių Python.
Python3
rsa algoritmas
import> re> newData1>=> 'techcodeview.com, is_an-awesome ! app + too'> # To split '+' with one espace before and after '+' symbol and use backslash> print>(re.split(>', |_|-|!|+'>, newData1))> newData2>=> 'techcodeview.com, is_an-awesome ! app+too'> # To split '+' without one espace before and after '+' symbol and use backslash> print>(re.split(>', |_|-|!|+'>, newData2))> |
>
>
Išvestis
['techcodeview.com', ' is', 'an', 'awesome', ' app', 'too']>
Pastaba: Norėdami sužinoti daugiau apie reguliarųjį reiškinį paspauskite čia .
Padalinkite eilutę keliais skyrikliais naudodami re.findall()
Python programoje galime išskaidyti kelis simbolius iš eilutės naudodami refindall (). Tai šiek tiek paslaptingesnė forma, tačiau sutaupo laiko. Jis taip pat naudoja reguliarųjį reiškinį, kaip aukščiau, bet vietoj to .split() metodas, jis naudoja metodą, vadinamą . rasti viską () . Šis metodas suranda visus atitinkančius atvejus ir kiekvieną iš jų pateikia sąraše. Šį padalijimo būdą geriausia naudoti, kai nežinote tikslių simbolių, kuriuos norite padalinti.
Python3
import> re> data>=> 'This, is - another : example?!'> print>(>'The original string is : '> +> data)> # Using re.findall()> # Splitting characters in String> res>=> re.findall(r>'[w']+'>, data)> print>(>'The list after performing split functionality : '> +> str>(res))> |
>
>
Išvestis
The original string is : This, is - another : example?! The list after performing split functionality : ['This', 'is', 'another', 'example']>
Čia raktinis žodis [w’]+ nurodo, kad jis suras visus abėcėlės ar apatinio brūkšnio (_) atvejus vieną ar daugiau ir pateiks juos sąraše. Pastaba: [w’]+ neskils ant apatinio brūkšnio ( _ ), nes ji ieško abėcėlių ir apatinių brūkšnių.
Pavyzdys: Šiame kode mes naudojame refindall (), kad išskirstytume simbolius iš eilučių Python.
Python3
import> re> testData>=> 'This, is - underscored _ example?!'> print>(re.findall(r>'[w']+'>, testData))> |
>
>
Išvestis
['This', 'is', 'underscored', '_', 'example']>
Charakterių klasės
Regex sukčiavimo lapas apie veikėjo aprašymą
| Trumpųjų rašmenų klasė | Atstovauja |
|---|---|
| d | Bet koks skaitmuo nuo 0 iki 9 |
| D | Bet koks simbolis, kuris nėra skaitmuo nuo 0 iki 9 |
| In | Bet kuri raidė, skaitmuo arba apatinis brūkšnis |
| IN | Bet koks simbolis, kuris nėra raidė, skaitmuo ar apatinio brūkšnio simbolis |
| s | Bet koks tarpas, tabuliatorius arba naujos eilutės simbolis |
| S | Bet koks simbolis, kuris nėra tarpas, skirtukas ar nauja eilutė |