Недавно, когда я работал над приложением на Python, мне нужно было разделить строку. В этом тексте я расскажу, как использовать метод split().
Метод split() — это встроенный строковый метод в Python, который позволяет разбить строку на список подстрок. Разбиение происходит на основе указанного разделителя — символа или строки, которые разделяют исходную строку на отдельные подстроки.
По умолчанию метод split() использует пробелы в качестве разделителя. Это означает, что он разбивает строку на подстроки каждый раз, когда встречает пробел, символ табуляции или символ новой строки. Однако вы можете указать другой разделитель, если это необходимо.
- Синтаксис
- Пример 1: с использованием пробелов в качестве разделителя
- Пример 2: разделение строки с разделителями
- Пример 3: с maxsplit
- Заключение
Синтаксис
Синтаксис метода Python string.split():
myString.split('separator',maxsplit)
Здесь myString — это строка, которую мы хотим разделить.
Здесь мы используем два параметра в методе разделения.
- разделитель: в метод разделения мы можем передавать любые разделители, такие как «*, /, &,(, ), {, }, \, |» и т. д. в качестве параметра. Кроме того, мы можем использовать любые символы или строки в качестве разделителей для метода Split(). Если для данной строки не указан разделитель, то в качестве разделителя по умолчанию используются пробелы.
myString.split('/',maxsplit)
- maxsplit: это необязательный параметр, который указывает, сколько раз нам нужно разделить строку. Он примет число в качестве значения. А если параметр не указан, по умолчанию принимается -1, т.е. ограничений на разделение нет.
myString.split('/',2)
Пример 1: с использованием пробелов в качестве разделителя
Давайте посмотрим на один пример использования метода string Split() в Python.
# Defining a string myStr="George has a Tesla" #List of string my_List=myStr.split() print(my_List)
Выход:
['George', 'has', 'a', 'Tesla']
Поскольку мы не указали разделитель, метод Split() автоматически использует пробелы в качестве разделителя и разбивает строку на четыре части.
Пример 2: разделение строки с разделителями
Здесь мы увидим несколько примеров того, как строка Split() работает с различными разделителями в Python.
Разделить с помощью ‘,’:
#Defining a string myStr="one, two, three, four, five" #Split using ',' separator num_List=myStr.split(',') #Printing list of numbers print(num_List) # output ['one', ' two', ' three', ' four', ' five']
Разделить с помощью ‘|’:
#Defining a string myStr="Welcome|to|USA" #split using '|' separator my_List=myStr.split('|') #prints list of strings print(my_List)
Выход:
['Welcome', 'to', 'USA']
Разделить с помощью разделителя «-»:
# Defining a string state_names = "Florida-Texas-Calefornia-Ohio" # Split using character '-' state_name_list = state_names.split('-') # Printing list of states print(state_name_list)
Выход:
['Florida', 'Texas', 'Calefornia', 'Ohio']
Пример 3: с maxsplit
В Python метод string.split() имеет параметр maxsplit, который позволяет указать максимальное количество разделений строки с помощью заданного разделителя. Если maxsplit не указан или равен -1, то разделение будет происходить без ограничений.
Метод Split() с максимальным разделением по умолчанию: -1
# Defining a string strNames="Tony, Steve, Peter, Bruce, Scott" # default maxsplit: -1 print(strNames.split(','))
Выход:
['Tony', ' Steve', ' Peter', ' Bruce', ' Scott']
Метод Split() с maxsplit: -1
# Defining a string strNames="Tony, Steve, Peter, Bruce, Scott" # maxsplit: -1 print(strNames.split( ',' , -1))
Выход:
['Tony', ' Steve', ' Peter', ' Bruce', ' Scott']
Как мы видим из приведенных ниже исполненных кодов, оба метода дают одинаковый результат, как описано.
Метод Split() с maxsplit: 0
Если мы используем параметр maxsplit со значением 0 в методе Split(), то получим исходную строку без изменений, так как разделим её на части.
# maxsplit: 0 print(strNames.split(',', 0)) # output ['Tony, Steve, Peter, Bruce, Scott']
Метод Split() с maxsplit: 1
Аналогично, если в качестве параметра maxsplit указать 1, а разделителем выбрать запятую, метод Split() выполнит разделение строки только один раз. После этого метод Split() больше не будет работать.
# максимальное разделение: 1 print(strNames.split(',', 1))
Выход:
['Tony', ' Steve, Peter, Bruce, Scott']
Метод Split() с maxsplit: 2
Если мы передадим в качестве параметра maxsplit значение 2 и в качестве разделителя укажем запятую (,), то метод Split() разделит строку два раза с помощью этого разделителя. После этого функция Split() не будет работать корректно.
# maxsplit: 2 print(strNames.split(',', 2))
Выход:
['Tony', ' Steve', ' Peter, Bruce, Scott']
Метод Split() с maxsplit: 4
Если мы передадим в качестве параметра maxsplit значение 4 и укажем разделитель «,», то метод Split() разделит строку четыре раза, используя этот разделитель. Поскольку в нашем вводе только четыре «,», то этот процесс будет выполнен четыре раза.
# maxsplit: 4 print(strNames.split(',', 4))
Выход:
['Tony', ' Steve', ' Peter', 'Bruce', 'Scott']
Заключение
Метод Split() — это удобный встроенный метод для работы со строками в Python. Он позволяет разделить строку на список подстрок, используя указанный разделитель. Этот метод может быть полезен, когда вам нужно обработать отдельные слова или токены в строке, а также когда вам нужно извлечь определённые части из более длинной строки.