How to Split a String in Python

Delta Online News

Splitting a string in Python is pretty simple. You can achieve this using Python’s built-in “split()” function.

The split() method in Python separates each word in a string using a comma, turning it into a list of words. This guide will walk you through the various ways you can split a string in Python.

How to Use the Python Split Method

As earlier mentioned, by default, Python’s built-in split() function breaks a string into individual words separated by commas. But it accepts two optional arguments, and here’s what the syntax looks like:

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

When you specify a separating criteria, the function locates that criteria within the string and initiates a split at that point. Otherwise, by default, it splits the string anywhere there’s a white space.

Have a look at the example below to see how this works. Here, the white spaces are the separation criteria by default, since we didn’t specify one:

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

Let’s see how the split() method works when you specify separating criteria. In this example, a comma is the separating criteria:

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

For a better grasp, the example code below splits the strings wherever there’s a dot. So the dots here are the separation criteria:

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

max_split is an integer that specifies the maximum number of breaks in a string. More importantly, it indicates the point where the string breaks.

So you can include that value in the parentheses to break the string at specific points.

For instance, the code below breaks the texts into two and stops on the second comma:

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

To see how this works further, separate the string in the code below, making it stop on the second dot:

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

While the split() method doesn’t break strings into alphabets, you can achieve this using the for loop:

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

Related: How to Append a List in Python

Instead of appending to a list as we did in the code above, you can shorten the code by using a list comprehension:

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

Create a Word Counter With the Python Split Function

You can use Python split() in many ways. For instance, you can count the number of words after splitting each string:

myTexts = 'How to split a text in Python'
print(len(myTexts.split()))
Output: 7

Modify the code above to count the words in a separate file. You can create a function to do this. But here, you need to open and read the file containing the text.

Then split the text first and execute a count by returning the length of the resulting split using the built-in len() function:

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

Although it’s a little tricky, you can also do this using the for loop only:

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]'))

Related: How to Open, Read, and Write to a File in Python

To make the for loop read each word separately, you should insert your file into a separate list as we did in the above code. Additionally, enforce the word count by leaving a space between the empty quotes in the parentheses. Otherwise, it gives you the wrong output.

So the code works by counting the spaces between each word and then adding 1 to the whole count to get the actual number of words.

Simplify Your Code

The split() function is a valuable Python tool, and as you’ve seen, you can use it to count the words in a file. You can even solve other problems with it as you desire. There are many other built-in functions in Python like this that simplify complex operations quickly and efficiently.

So instead of writing long blocks of code, it’s always helpful to try out more efficient, simpler, and faster built-in methods of solving various coding problems. That said, there are many other ways of manipulating strings in addition to splitting. You can always try them out to improve your string handling in Python.

MUO – Feed