Att dela en sträng i Python är ganska enkelt. Du kan uppnå detta med Pythons inbyggda "split ()" -funktion.

De dela() metod i Python separerar varje ord i en sträng med hjälp av ett komma och gör det till en lista med ord. Den här guiden går igenom de olika sätten att dela en sträng i Python.

Hur man använder Python Split-metoden

Som tidigare nämnts är Pythons inbyggda som standard dela() funktionen bryter en sträng i enskilda ord åtskilda av kommatecken. Men det accepterar två valfria argument, och här ser syntaxen ut:

string.split ([separeringskriterier], [brytpunkt eller max_split])

När du anger en separeringskriterier, lokaliserar funktionen de kriterierna i strängen och initierar en split vid den punkten. I annat fall delar den strängen var som helst där det finns ett vitt utrymme.

Ta en titt på exemplet nedan för att se hur detta fungerar. Här är de vita utrymmena separeringskriterierna som standard, eftersom vi inte angav ett:

myTexts = 'Hur man delar upp en text i Python'
splitString = myTexts.split ()
instagram viewer

tryck (splitString)
Output: ['How', 'to', 'split', 'a', 'text', 'in', 'Python']

Låt oss se hur dela() metoden fungerar när du anger separeringskriterier. I detta exempel är ett komma separeringskriteriet:

myTexts = 'Hur man delar upp, en text i, Python'
skriva ut (myTexts.split (","))

För bättre förståelse delar koden nedan upp strängarna varhelst det finns en punkt. Så punkterna här är separeringskriterierna:

myTexts = 'Hur man delar upp en text i. Pytonorm'
skriva ut (myTexts.split ("."))
Output: ['Hur man delar', 'en text i', 'Python']

max_split är ett heltal som anger det maximala antalet avbrott i en sträng. Ännu viktigare, det indikerar punkten där strängen bryts.

Så du kan inkludera det värdet inom parentes för att bryta strängen vid specifika punkter.

Till exempel delar koden nedan upp texterna i två och stannar i det andra kommaet:

myTexts = 'Hur, till, dela, a, text, i, Python'
skriva ut (myTexts.split (",", 2))
Output: ['How', 'to', 'split, a, text, in, Python']

För att se hur detta fungerar vidare, separera strängen i koden nedan, så att den stannar vid den andra punkten:

myTexts = 'Hur man delar upp en text.in. Pytonorm'
skriva ut (myTexts.split (".", 2))
Output: ['How', 'to split', 'a text.in. Pytonorm']

Medan dela() Metoden bryter inte strängar i alfabet, du kan uppnå detta med för slinga:

myTexts = 'Hur man delar upp en text i Python'
Alfabet = []
för varje i myTexts:
alfas = vardera
Alfabet. Lägg till (alphas)
skriva ut (alfabet)

Relaterad: Hur man lägger till en lista i Python

Istället för att lägga till en lista som vi gjorde i koden ovan kan du förkorta koden med med hjälp av en listförståelse:

y = [vardera för varje i myTexts]
skriva ut (y)

Skapa en Word Counter med Python Split-funktionen

Du kan använda Python dela() på många sätt. Du kan till exempel räkna antalet ord efter att ha delat varje sträng:

myTexts = 'Hur man delar upp en text i Python'
skriva ut (len (myTexts.split ()))
Utgång: 7

Ändra koden ovan för att räkna orden i en separat fil. Du kan skapa en funktion för att göra detta. Men här måste du öppna och läsa filen som innehåller texten.

Dela sedan upp texten först och utför en räkning genom att returnera längden på den resulterande delningen med den inbyggda len () fungera:

def countWords (fil):
myFile = öppen (fil, 'r')
Fil = myFile.read ()
splitString = File.split ()
returnera len (splitString)
skriv ut (countWords ('[Path to Yourfile.txt]'))

Även om det är lite knepigt kan du också göra detta med för endast slinga:

def countWords (fil):
myFile = öppen (fil, 'r')
Fil = myFile.read ()
File = [File]
för filer i fil:
return files.count ('') + 1
skriv ut (countWords ('[Path to Yourfile.txt]'))

Relaterad: Hur man öppnar, läser och skriver till en fil i Python

Att göra för loop läsa varje ord separat, du bör infoga din fil i en separat lista som vi gjorde i ovanstående kod. Dessutom genomdriv ordräkningen genom att lämna ett mellanslag mellan de tomma citaten inom parentes. Annars ger det dig fel utdata.

Så koden fungerar genom att räkna mellanslag mellan varje ord och sedan lägga 1 till hela räkningen för att få det faktiska antalet ord.

Förenkla din kod

De dela() funktionen är ett värdefullt Python-verktyg, och som du har sett kan du använda den för att räkna orden i en fil. Du kan till och med lösa andra problem med det som du vill. Det finns många andra inbyggda funktioner i Python så här som förenklar komplexa operationer snabbt och effektivt.

Så istället för att skriva långa kodblock är det alltid bra att testa mer effektiva, enklare och snabbare inbyggda metoder för att lösa olika kodproblem. Som sagt, det finns många andra sätt att manipulera strängar förutom att dela. Du kan alltid prova dem för att förbättra din stränghantering i Python.

E-post
Lär dig Python? Så här hanterar du strängar

Att använda och manipulera strängar i Python kan verka svårt, men det är bedrägligt enkelt.

Läs Nästa

Relaterade ämnen
  • Programmering
  • Pytonorm
  • Kodningshandledning
Om författaren
Idowu Omisola (72 artiklar publicerade)

Idowu brinner för allt smart teknik och produktivitet. På fritiden leker han med kodning och byter till schackbrädet när han är uttråkad, men han älskar också att bryta sig från rutinen då och då. Hans passion för att visa människor vägen runt modern teknik motiverar honom att skriva mer.

Mer från Idowu Omisola

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Ett steg till…!

Bekräfta din e-postadress i e-postmeddelandet som vi just skickade till dig.

.