In Python zijn Strings een basisgegevenstype dat wordt gebruikt om tekstuele gegevens op te slaan en ermee te werken. Het opsplitsen van een string in meerdere karakters is een veel voorkomende tekstverwerkingsactiviteit in Python. Terwijl u uw programmeervaardigheden codeert of improviseert, bent u vast en zeker veel scenario's tegengekomen die u wilde gebruiken splitsen() in Python om niet op slechts één teken te splitsen, maar op meerdere scheidingstekens tegelijk. In dit artikel zullen we verschillende benaderingen zien Python-snaar meerdere scheidingstekens splitsen.
Input: 'GeeksForGeeks, is an-awesome! website' Output: ['GeeksForGeeks, ', 'is', 'an-awesome!', 'website'] Explanation: In This, we are splitting the multiple delimiters from the string.>
In Python , We kunnen verschillende benaderingen gebruiken om meerdere scheidingstekens van de tekenreeks te splitsen. Met deze methoden is het splitsen en manipuleren van individuele karakters uit een string in Python eenvoudig.
- Gebruik makend van Splitsfunctie
- Vervangen() gebruiken
- Gebruik makend van re.split()
- Gebruik re.findall()
Tekenreeks splitsen met meerdere scheidingstekens met behulp van de splitsfunctie
In Python kunnen we meerdere tekens uit een string splitsen met behulp van split(). Hier doorlopen we elk scheidingsteken en splitsen we de tekenreeks met behulp van de split()-functie. Na het splitsen voegen we de resulterende lijst samen met spaties met behulp van de join()-functie en we splitsen de gewijzigde string op basis van witruimte om de gewenste lijst met strings te verkrijgen.
Python3
string>=> 'GeeksForGeeks, | is an-awesome! website'> delimiters>=> [>','>,>'|'>,>';'>,>'!'>]> for> delimiter>in> delimiters:> >string>=> ' '>.join(string.split(delimiter))> result>=> string.split()> print>(result)> |
>
>
Uitvoer
['GeeksForGeeks', 'is', 'an-awesome', 'website']>
Python gesplitst door meerdere tekens met behulp van Replace()
In Python kunnen we meerdere tekens uit een string splitsen met behulp van vervangen(). Dit is een zeer nieuwe manier om de splitsing uit te voeren. Het maakt geen gebruik van regex en is inefficiënt, maar toch het proberen waard. Als je de tekens kent waarop je wilt splitsen, vervang ze dan door een spatie en gebruik ze vervolgens splitsen() .
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))> |
>
>
vervang alle Java
Uitvoer
The original string is : Let's_try, this now The list after performing split functionality : ['Let's', 'try', 'this', 'now']>
Python gesplitst door meerdere tekens met Re.split()
In Python kunnen we meerdere tekens uit een string splitsen met behulp van opnieuw splitsen(). Dit is de meest efficiënte en meest gebruikte methode om meerdere tekens tegelijk te splitsen. Het maakt hiervoor gebruik van regex (reguliere expressies).
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))> |
>
>
Uitvoer
The original string is : techcodeview.com, is_an-awesome ! website The list after performing split functionality : ['techcodeview.com', 'is', 'an', 'awesome ', ' website']>
De regel re.split(‘, |_|-|!’, data) vertelt Python om de variabele gegevens over de karakters te splitsen: , of _ of – of ! . Het symbool | vertegenwoordigt of. Er zijn enkele symbolen in regex die worden behandeld als speciale symbolen en die verschillende functies hebben. Als je op een dergelijk symbool wilt splitsen, moet je er aan ontsnappen met behulp van a (back-slash) en er is één spatie nodig voor en na speciale tekens.
Lijst met speciale tekens die moeten worden geëscaped voordat ze worden gebruikt:
. + * ? [ ^ ] $ ( ) { } = | :> Voorbeeld: In deze code gebruiken we resplit () om tekens uit tekenreeksen in Python te splitsen.
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))> |
>
>
Uitvoer
['techcodeview.com', ' is', 'an', 'awesome', ' app', 'too']>
Opmerking: Meer weten over regex Klik hier .
Tekenreeks splitsen met meerdere scheidingstekens met re.findall()
In Python kunnen we meerdere tekens uit een string splitsen met refindall(). Dit is een wat mysterieuzere vorm, maar bespaart tijd. Het maakt ook gebruik van regex zoals hierboven, maar in plaats van .split() methode, het gebruikt een methode genaamd . vind alle() . Deze methode vindt alle overeenkomende exemplaren en retourneert ze allemaal in een lijst. Deze manier van splitsen kan het beste worden gebruikt als u niet precies weet op welke tekens u wilt splitsen.
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))> |
>
>
Uitvoer
The original string is : This, is - another : example?! The list after performing split functionality : ['This', 'is', 'another', 'example']>
Hier geeft het trefwoord [w’]+ aan dat het alle exemplaren van alfabetten of underscore(_) één of meer zal vinden en deze in een lijst zal retourneren. Opmerking: [w’]+ splitst niet op een onderstrepingsteken( _ ) terwijl er naar alfabetten en onderstrepingstekens wordt gezocht.
Voorbeeld: In deze code gebruiken we refindall () om tekens uit tekenreeksen te splitsen Python.
Python3
lettergroottes in latex
import> re> testData>=> 'This, is - underscored _ example?!'> print>(re.findall(r>'[w']+'>, testData))> |
>
>
Uitvoer
['This', 'is', 'underscored', '_', 'example']>
Karakter klassen
Regex spiekbriefje op karakterbeschrijving
| Klasse van stenokarakters | Vertegenwoordigt |
|---|---|
| D | Elk numeriek cijfer van 0 tot en met 9 |
| D | Elk teken dat geen numeriek cijfer van 0 tot en met 9 is |
| In | Elke letter, numeriek cijfer of het onderstrepingsteken |
| IN | Elk teken dat geen letter, numeriek cijfer of onderstrepingsteken is |
| S | Een spatie, tab of nieuweregelteken |
| S | Elk teken dat geen spatie, tab of nieuwe regel is |