I Python är Strings en grundläggande datatyp som används för att lagra och arbeta med textdata. Att dela upp en sträng i flera tecken är en frekvent textbearbetningsaktivitet i Python. När du kodade eller improviserade din programmeringsförmåga måste du säkert ha stött på många scenarier där du ville använda dela() i Python att inte dela på bara en karaktär utan flera avgränsare samtidigt. I den här artikeln kommer vi att se olika förhållningssätt till Python sträng dela upp flera avgränsare.
Input: 'GeeksForGeeks, is an-awesome! website' Output: ['GeeksForGeeks, ', 'is', 'an-awesome!', 'website'] Explanation: In This, we are splitting the multiple delimiters from the string.>
I Pytonorm , Vi kan använda olika metoder för att dela upp flera avgränsare från strängen. Med dessa metoder är det enkelt att dela upp och manipulera enskilda tecken från en sträng i Python.
- Använder sig av Split funktion
- Använda replace()
- Använder sig av re.split()
- Använda re.findall()
Dela sträng med flera avgränsare med Split-funktionen
I Python kan vi dela upp flera tecken från en sträng med split(). Här itererar vi genom varje avgränsare och delar strängen med hjälp av split() funktion. Efter uppdelning ansluter vi den resulterande listan med mellanslag med hjälp av join() funktion och vi delar upp den modifierade strängen baserat på blanksteg för att få önskad lista med strängar.
Python3
konvertera från sträng till heltals java
string>=> 'GeeksForGeeks, | is an-awesome! website'> delimiters>=> [>','>,>'|'>,>';'>,>'!'>]> for> delimiter>in> delimiters:> >string>=> ' '>.join(string.split(delimiter))> result>=> string.split()> print>(result)> |
>
>
Produktion
['GeeksForGeeks', 'is', 'an-awesome', 'website']>
Python dela upp med flera tecken med replace()
I Python kan vi dela upp flera tecken från en sträng med hjälp av byta ut(). Detta är ett väldigt nybörjare sätt att göra splittringen. Det använder inte regex och är ineffektivt men ändå värt ett försök. Om du känner till karaktärerna du vill dela på, ersätt dem bara med ett mellanslag och använd sedan dela() .
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))> |
>
>
Produktion
The original string is : Let's_try, this now The list after performing split functionality : ['Let's', 'try', 'this', 'now']>
Python dela upp med flera tecken med hjälp av Re.split()
I Python kan vi dela upp flera tecken från en sträng med hjälp av resplit(). Detta är den mest effektiva och vanligaste metoden för att dela upp flera tecken samtidigt. Den använder sig av regex (reguljära uttryck) för att göra detta.
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))> |
>
>
Produktion
The original string is : techcodeview.com, is_an-awesome ! website The list after performing split functionality : ['techcodeview.com', 'is', 'an', 'awesome ', ' website']>
Raden re.split(‘, |_|-|!’, data) säger till Python att dela upp variabeldata på tecknen: , eller _ eller – eller ! . Symbolen | representerar eller. Det finns några symboler i regex som behandlas som specialsymboler och har olika funktioner. Om du vill dela på en sådan symbol måste du undkomma den med en (back-slash) och det behöver ett mellanslag före och efter specialtecken.
Lista över specialtecken som måste escapes innan du använder dem:
. + * ? [ ^ ] $ ( ) { } = | :> Exempel: I den här koden använder vi resplit () för att dela tecken från strängar i Python.
Python3
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))> |
>
>
Produktion
['techcodeview.com', ' is', 'an', 'awesome', ' app', 'too']>
Notera: För att veta mer om regex Klicka här .
Dela sträng med flera avgränsare med re.findall()
I Python kan vi dela upp flera tecken från en sträng med refindall(). Detta är en lite mer svårbegriplig form men sparar tid. Den använder sig också av regex som ovan men istället för .dela() metod använder den en metod som kallas . hitta alla() . Den här metoden hittar alla matchande instanser och returnerar var och en av dem i en lista. Det här sättet att dela upp är bäst att använda när du inte vet exakt vilka tecken du vill dela på.
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))> |
>
>
Produktion
The original string is : This, is - another : example?! The list after performing split functionality : ['This', 'is', 'another', 'example']>
Här indikerar nyckelordet [w’]+ att det kommer att hitta alla instanser av alfabet eller understreck(_) en eller flera och returnera dem i en lista. Notera: [w’]+ delas inte på ett understreck( _ ) eftersom den söker efter alfabet såväl som understreck.
Exempel: I den här koden använder vi refindall () för att dela upp tecken från strängar Pytonorm.
Python3
java hur man konverterar sträng till int
import> re> testData>=> 'This, is - underscored _ example?!'> print>(re.findall(r>'[w']+'>, testData))> |
>
>
Produktion
['This', 'is', 'underscored', '_', 'example']>
Karaktärsklasser
Regex fuskblad på karaktärsbeskrivning
| Teckenklass för stenografi | Representerar |
|---|---|
| d | Valfri siffra från 0 till 9 |
| D | Alla tecken som inte är en numerisk siffra från 0 till 9 |
| I | Valfri bokstav, siffra eller understreck |
| I | Alla tecken som inte är en bokstav, siffra eller understreck |
| s | Valfritt mellanslag, tabb eller nyradstecken |
| S | Alla tecken som inte är ett mellanslag, tabb eller nyrad |