Last modified: Oct 18, 2024 By Alexander Williams

Python String split() Method

The split() method is a powerful tool in Python for dividing strings into lists. It helps in breaking a string into smaller pieces based on a specified delimiter. This method is particularly useful for parsing text data, working with CSV files, or separating words in a sentence.

1. Basic Usage of split()

The split() method divides a string into a list where each word is an element. By default, it uses whitespace as the delimiter.


text = "Learn Python programming"
words = text.split()
print(words)


['Learn', 'Python', 'programming']

The result is a list of words from the original string. This can be very handy when you want to process or analyze each word individually.

2. Using a Specific Delimiter

You can specify a custom delimiter in the split() method to split the string by a character or sequence of characters like a comma, hyphen, or any other symbol.


text = "apple,banana,cherry"
fruits = text.split(",")
print(fruits)


['apple', 'banana', 'cherry']

This method is often used for parsing CSV data or processing strings with consistent delimiters.

3. Limiting the Number of Splits

You can limit the number of splits by providing an additional argument maxsplit. This will control how many splits should be performed.


text = "one, two, three, four"
result = text.split(", ", 2)
print(result)


['one', 'two', 'three, four']

With maxsplit=2, the string is split only into three parts, even though there are more occurrences of the delimiter.

4. Splitting Lines with splitlines()

If you want to split a string into a list of lines, use splitlines(). It splits the string at line breaks.


text = "Hello\nWorld\nPython"
lines = text.splitlines()
print(lines)


['Hello', 'World', 'Python']

To learn more about checking if a string contains newline characters, see How to Check if String Contains a Newline in Python.

5. Removing Empty Strings After Splitting

Sometimes, you might encounter empty strings when using split(). This can happen when there are consecutive delimiters. You can filter out empty strings using list comprehensions or the filter() function.


text = "apple,,banana,,cherry"
fruits = text.split(",")
# Removing empty strings
filtered_fruits = [fruit for fruit in fruits if fruit]
print(filtered_fruits)


['apple', 'banana', 'cherry']

This technique ensures you only keep non-empty elements after splitting the string.

6. Splitting into Characters

While split() is typically used for breaking a string into words or phrases, you can convert a string into a list of characters using list() or a comprehension.

For more details, you can explore Print each Character of a String in Python.


text = "Python"
characters = list(text)
print(characters)


['P', 'y', 't', 'h', 'o', 'n']

Conclusion

The split() method is a versatile tool in Python, allowing you to transform strings into lists for easier processing. From simple splitting using spaces to complex parsing with custom delimiters, it makes text manipulation straightforward. Mastering split() is essential for working with strings efficiently in Python.

To dive deeper into string manipulations, such as getting the first or last words of a string, see Python: Get First, Second, Last word in String.