Het splitsen van een string in Python is vrij eenvoudig. U kunt dit bereiken met de ingebouwde "split ()" -functie van Python.

De splitsen () methode in Python scheidt elk woord in een string met een komma, waardoor het in een lijst met woorden verandert. Deze gids zal je door de verschillende manieren leiden waarop je een string in Python kunt splitsen.

Hoe de Python Split-methode te gebruiken

Zoals eerder vermeld, is Python standaard ingebouwd splitsen () functie breekt een string in afzonderlijke woorden gescheiden door komma's. Maar het accepteert twee optionele argumenten, en hier is hoe de syntaxis eruit ziet:

string.split ([scheidingscriteria], [breekpunt of max_split])

Wanneer u een scheidingscriteria, lokaliseert de functie dat criterium binnen de string en start op dat punt een splitsing. Anders splitst het de string standaard overal waar er een witruimte is.

Bekijk het onderstaande voorbeeld om te zien hoe dit werkt. Hier zijn de witruimtes standaard het scheidingscriterium, aangezien we er geen hebben gespecificeerd:

instagram viewer
myTexts = 'Hoe een tekst in Python te splitsen'
splitString = myTexts.split ()
print (splitString)
Uitvoer: ['Hoe', 'naar', 'splitsen', 'a', 'tekst', 'in', 'Python']

Laten we eens kijken hoe de splitsen () methode werkt wanneer u scheidingscriteria opgeeft. In dit voorbeeld is een komma het scheidingscriterium:

myTexts = 'Hoe een tekst in Python te splitsen'
print (myTexts.split (","))

Voor een beter begrip splitst de onderstaande voorbeeldcode de strings op waar er een punt is. Dus de puntjes hier zijn de scheidingscriteria:

myTexts = 'Hoe een tekst te splitsen in. Python'
print (myTexts.split ("."))
Output: ['Hoe te splitsen', 'een tekst in', 'Python']

max_split is een geheel getal dat het maximale aantal onderbrekingen in een tekenreeks aangeeft. Wat nog belangrijker is, het geeft het punt aan waar de string breekt.

U kunt die waarde dus tussen haakjes opnemen om de tekenreeks op specifieke punten te breken.

De onderstaande code breekt bijvoorbeeld de teksten in tweeën en stopt bij de tweede komma:

myTexts = 'Hoe, naar, splitsen, a, tekst, in, Python'
print (myTexts.split (",", 2))
Uitvoer: ['Hoe', 'naar', 'splitsen, a, tekst, in, Python']

Om te zien hoe dit verder werkt, scheidt u de tekenreeks in de onderstaande code, zodat deze stopt bij de tweede punt:

myTexts = 'Hoe.om een ​​tekst.in te splitsen. Python'
print (myTexts.split (".", 2))
Uitvoer: ['Hoe', 'te splitsen', 'a text.in. Python']

Terwijl de splitsen () methode breekt strings niet in alfabetten, u kunt dit bereiken met de voor lus:

myTexts = 'Hoe een tekst in Python te splitsen'
Alfabetten = []
voor elk in myTexts:
alphas = elk
Alphabets.append (alfa's)
print (alfabetten)

Verwant: Een lijst toevoegen in Python

In plaats van toe te voegen aan een lijst zoals we in de bovenstaande code hebben gedaan, kunt u de code inkorten met met behulp van een lijstbegrip:

y = [elk voor elk in myTexts]
print (y)

Maak een woordteller met de Python Split-functie

U kunt Python gebruiken splitsen () op veel manieren. U kunt bijvoorbeeld het aantal woorden tellen na het splitsen van elke string:

myTexts = 'Hoe een tekst in Python te splitsen'
print (len (myTexts.split ()))
Uitgang: 7

Wijzig de bovenstaande code om de woorden in een apart bestand te tellen. U kunt hiervoor een functie maken. Maar hier moet u het bestand met de tekst openen en lezen.

Splits vervolgens eerst de tekst en voer een telling uit door de lengte van de resulterende splitsing te retourneren met behulp van de ingebouwde len () functie:

def countWords (bestand):
myFile = open (bestand, 'r')
Bestand = myFile.read ()
splitString = Bestand.split ()
retourneer len (splitString)
print (countWords ('[Path to Yourfile.txt]'))

Hoewel het een beetje lastig is, kunt u dit ook doen met de voor alleen lus:

def countWords (bestand):
myFile = open (bestand, 'r')
Bestand = myFile.read ()
File = [Bestand]
voor bestanden in Bestand:
return files.count ('') + 1
print (countWords ('[Path to Yourfile.txt]'))

Verwant: Een bestand openen, lezen en ernaar schrijven in Python

Om het voor loop elk woord afzonderlijk te lezen, moet u uw bestand in een aparte lijst invoegen zoals we in de bovenstaande code hebben gedaan. Dwing bovendien het aantal woorden af ​​door een spatie tussen de lege aanhalingstekens tussen haakjes te laten. Anders krijgt u de verkeerde uitvoer.

De code werkt dus door de spaties tussen elk woord te tellen en vervolgens 1 op te tellen bij het hele aantal om het werkelijke aantal woorden te krijgen.

Vereenvoudig uw code

De splitsen () functie is een waardevolle Python-tool, en zoals je hebt gezien, kun je deze gebruiken om de woorden in een bestand te tellen. Je kunt er zelfs andere problemen mee oplossen zoals je wilt. Er zijn veel andere ingebouwde functies in Python zoals deze die complexe bewerkingen snel en efficiënt vereenvoudigen.

Dus in plaats van lange blokken code te schrijven, is het altijd handig om efficiëntere, eenvoudigere en snellere ingebouwde methoden uit te proberen om verschillende coderingsproblemen op te lossen. Dat gezegd hebbende, er zijn naast het splitsen veel andere manieren om snaren te manipuleren. Je kunt ze altijd uitproberen om je stringverwerking in Python te verbeteren.

E-mail
Python leren? Hier leest u hoe u strings kunt manipuleren

Het gebruik en manipuleren van tekenreeksen in Python kan moeilijk lijken, maar het is bedrieglijk eenvoudig.

Lees Volgende

Gerelateerde onderwerpen
  • Programmeren
  • Python
  • Zelfstudies over codering
Over de auteur
Idowu Omisola (72 Artikelen gepubliceerd)

Idowu is gepassioneerd door alles wat met slimme technologie en productiviteit te maken heeft. In zijn vrije tijd speelt hij met coderen en schakelt hij over naar het schaakbord als hij zich verveelt, maar hij houdt er ook van om af en toe de routine te doorbreken. Zijn passie om mensen de weg te wijzen in moderne technologie, motiveert hem om meer te schrijven.

Meer van Idowu Omisola

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Nog een stap…!

Bevestig uw e-mailadres in de e-mail die we u zojuist hebben gestuurd.

.