PYTHON

Python String split() Method: Splitting Strings in Python

The split() method in Python splits a string into a list of substrings based on a specified separator.

How to Use String split() in Python

The split() method takes a separator split the string by and a maximum number of splits as optional parameters. Without a specified separator, split() uses whitespace as a separator. Without a maximum number of splits, the split() method splits at every occurrence of the separator.

The split() method returns a list of the split elements without changing the original string.

string.split(separator, maxsplit)
  • string: The string to split into a list.
  • separator: A separator to use for splitting the string. The default value treats whitespace as a separator.
  • maxsplit: An optional parameter to specify the maximum number of splits. The default value (-1) splits the string at every occurrence of the separator.

When to Use String split() in Python

In Python, split() is useful for dividing a string into smaller components for easier data processing.

Parsing CSV Files

CSV files contain data separated by commas. You can use split() to parse each line.

line = "John,Doe,30"
data = line.split(",")
print(data)  # Outputs: ['John', 'Doe', '30']

Tokenizing Text

Splitting a text into individual words or tokens is essential for text analysis or natural language processing.

sentence = "Hello world"
words = sentence.split()
print(words)  # Outputs: ['Hello', 'world']

Extracting Data from Logs

Logs often contain structured data that can be split into useful components.

log = "2024-05-17 10:00:00 ERROR Server down"
parts = log.split()
print(parts)  # Outputs: ['2024-05-17', '10:00:00', 'ERROR', 'Server', 'down']

Examples of String split() in Python

Splitting User Input

Interactive programs can split user input into commands or parameters.

user_input = "login user123 password"
commands = user_input.split()
print(commands)  # Outputs: ['login', 'user123', 'password']

Handling Configuration Files

Configuration files often have key-value pairs separated by specific characters.

config_line = "timeout=30"
key_value = config_line.split("=")
print(key_value)  # Outputs: ['timeout', '30']

Analyzing Sensor Data

Sensor data streams often come in a single line, separated by spaces or commas.

sensor_data = "23.5,67.8,19.0"
values = sensor_data.split(",")
print(values)  # Outputs: ['23.5', '67.8', '19.0']

Learn More About Python Split String

Splitting with Multiple Delimiters

To split a string using multiple delimiters, use the re module with regular expressions.

import re
text = "apple;banana orange,grape"
fruits = re.split(r'[; ,]', text)
print(fruits)  # Outputs: ['apple', 'banana', 'orange', 'grape']

Splitting by Lines

The splitlines() method splits a string into a list by breaking at line boundaries.

multiline_text = "Line 1\\nLine 2\\nLine 3"
lines = multiline_text.splitlines()
print(lines)  # Outputs: ['Line 1', 'Line 2', 'Line 3']

Splitting and Keeping the Delimiter

To split a string but keep the delimiter, use capturing groups with regular expressions.

import re
text = "word1,word2.word3"
parts = re.split(r'([,.])', text)
print(parts)  # Outputs: ['word1', ',', 'word2', '.', 'word3']

Case Sensitivity in Splitting

The split() method is case-sensitive. For case-insensitive splitting, preprocess the string to a consistent case.

text = "Hello hello HELLO"
words = text.lower().split()
print(words)  # Outputs: ['hello', 'hello', 'hello']

Performance Considerations

The split() method is efficient for moderate-sized strings. For extensive text processing, consider using more advanced libraries.

# Efficient splitting for large text
large_text = "A" * 10000
split_text = large_text.split("A")
print(len(split_text))  # Outputs: 10001

Unicode and International Text

The split() method handles Unicode strings, making it suitable for processing international text.

text = "こんにちは 世界"
words = text.split()
print(words)  # Outputs: ['こんにちは', '世界']
Learn Python for Free
Start learning now
button icon
To advance beyond this tutorial and learn Python by doing, try the interactive experience of Mimo. Whether you're starting from scratch or brushing up your coding skills, Mimo helps you take your coding journey above and beyond.

Sign up or download Mimo from the App Store or Google Play to enhance your programming skills and prepare for a career in tech.

You can code, too.

© 2024 Mimo GmbH