Nyheter i Android, Telefoner, Prylar Och Recensioner

Hur man delar en sträng i Python

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

De dela() Metoden i Python separerar varje ord i en sträng med ett kommatecken, vilket gör det till en lista med ord. Den här guiden går igenom de olika sätten du kan dela en sträng i Python.

Hur man använder Python Split-metoden

Som tidigare nämnts är Pythons inbyggda som standard dela() funktion bryter en sträng i enskilda ord separerade med kommatecken. Men den accepterar två valfria argument, och så här ser syntaxen ut:

string.split([separatng criteria], [break point or max_split])

När du anger en separerande kriterier, lokaliserar funktionen det kriteriet i strängen och initierar en uppdelning vid den punkten. Annars, som standard, 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 separationskriterierna som standard, eftersom vi inte angav något:

myTexts="How to split a text in Python"
splitString = myTexts.split()
print(splitString)
Output: ['How', 'to', 'split', 'a', 'text', 'in', 'Python']

Låt oss se hur dela() metoden fungerar när du anger separeringskriterier. I det här exemplet är ett kommatecken det separerande kriteriet:

myTexts="How to split, a text in, Python"
print(myTexts.split(", "))

För ett bättre grepp delar exempelkoden nedan upp strängarna varhelst det finns en prick. Så prickarna här är separationskriterierna:

myTexts="How to split.a text in.Python"
print(myTexts.split("."))
Output: ['How to split', 'a text in', '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 går av.

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

Relaterad  Hur man gör en pulserande Arduino LED-kub som ser ut som om den kom från framtiden

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

myTexts="How, to, split, a, text, in, Python"
print(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 på den andra punkten:

myTexts="How.to split.a text.in.Python"
print(myTexts.split(".", 2))
Output: ['How', 'to split', 'a text.in.Python']

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

myTexts="How to split a text in Python"
Alphabets = []
for each in myTexts:
alphas = each
Alphabets.append(alphas)
print(Alphabets)

Istället för att lägga till en lista som vi gjorde i koden ovan kan du förkorta koden genom att använda en listförståelse:

y = [each for each in myTexts]
print(y)

Skapa en ordräknare 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 upp varje sträng:

myTexts="How to split a text in Python"
print(len(myTexts.split()))
Output: 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 texten först och kör en räkning genom att returnera längden på den resulterande delingen med hjälp av den inbyggda len() fungera:

def countWords(file):
myFile = open(file, 'r')
File = myFile.read()
splitString = File.split()
return len(splitString)
print(countWords('[Path to Yourfile.txt]'))

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

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

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

Relaterad  Tidigare FACEIT-programmerare berättade hur man fixar problemet med fallande FPS i CS: GO

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

Förenkla din kod

De dela() funktion ä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 som denna som förenklar komplexa operationer snabbt och effektivt.

Så istället för att skriva långa kodblock är det alltid bra att prova effektivare, enklare och snabbare inbyggda metoder för att lösa olika kodningsproblem. 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.

Om författaren

Idowu Omisola (124 artiklar publicerade)

Idowu brinner för allt smart teknik och produktivitet. I hans free tid, han leker med kodning och byter till schackbrädet när han har tråkigt, men han älskar också att bryta sig loss 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, free e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera