Содержание
Разбор строки в Python может означать разные вещи. Можно разобрать строку, разбив ее на части или извлекая подстроки.
Также можно разобрать строку, преобразовав ее в целочисленную или плавающую переменную. Хотя эту операцию следует классифицировать как операцию преобразования типов, можно встретить ресурсы, в которых она называется разбором строки.
В этой статье вы узнаете, как разобрать строку с помощью методов split() и strip(). Также вы узнаете, как преобразовать строку в целое число с помощью функции int().
Как разобрать строку в Python с помощью метода split()
В Python можно использовать метод split() для ”разбиения” подстроки строки на список.
Вот как выглядит параметр:
string.split(separator, maxsplit)
Метод split() имеет два необязательных параметра:
separator задает, с какого места начинать разбиение (это будет лучше понятно из примеров в следующем разделе). maxsplit задает максимальное количество разбиений.
Пример #1 - Использование параметра separator в методе split()
favorite_languages = "JavaScript, Python, and Java"
lang_split = favorite_languages.split(",")
print(lang_split)
# ['JavaScript', ' Python', ' and Java']
В приведенном выше примере мы создали строку favorite_languages, которая содержит три подстроки: “JavaScript, Python и Java”.
Используя метод split(), мы указали, что каждая подстрока должна быть разделена после каждой запятой в строке: favorite_languages.split(”,”).
В результате был получен список каждой подстроки: [‘JavaScript’, ’ Python’, ’ и Java’].
Этот пример показывает, как использовать первый параметр метода split(). Следующий пример поможет разобраться со вторым параметром.
Пример №2 метода split() - использование параметра Maxsplit
favorite_languages = "JavaScript, Python, and Java"
lang_split = favorite_languages.split(",", 1)
print(lang_split)
# ['JavaScript', ' Python, and Java']
В приведенном выше коде мы использовали параметр maxsplit, который задает количество выполняемых разбиений.
Так, favorite_languages.split(”,”, 1) означает, что должна быть разбита только одна подстрока, а остальные останутся в исходной строке.
В результате код разделил только JavaScript, а Python и Java сохранили свои начальные позиции в строке. То есть: [‘JavaScript’, ’ Python и Java’].
Как разобрать строку в Python с помощью метода strip()
Для удаления пробелов или заданных символов в строке можно использовать метод strip().
Вот как выглядит синтаксис:
string.strip([chars])
Параметр chars задает набор символов, которые необходимо удалить. Этот параметр необязателен, поэтому если оставить скобку пустой, то будут удалены только белые пробелы.
Рассмотрим несколько примеров.
Пример №1 метода strip()
username = " Doe "
user = username.strip()
print(user)
# Doe
В приведенном выше примере мы имели строку с ведущими и отстающими пробельными символами: ” Doe “.
Используя метод strip без параметров, мы избавились от пробельных символов: username.strip().
В следующем примере мы будем передавать параметры методу strip().
Пример метода strip() №2
В этом разделе мы будем использовать строку, в которой присутствуют различные символы, не являющиеся пробелами:
username = "=+---Doe---+="
Задача состоит в том, чтобы избавиться от нежелательных символов (=+-), встречающихся в переменной username.
Если использовать метод strip() без параметров, то он не избавится от этих символов. Без параметров метод strip() удаляет только пробельные символы.
Чтобы удалить символы в строке, необходимо использовать их в качестве параметра, указывающего методу strip(), что они должны быть удалены. То есть:
username = "=+---Doe---+="
user = username.strip("=+-")
print(user)
# Doe
В приведенном выше коде мы передали символы, которые необходимо удалить из строки, в качестве параметра методу strip(): username.strip(”=+-”).
Обратите внимание, что эти символы необходимо заключить в кавычки (”=+-”).
Как преобразовать строку в целое число с помощью функции int()
Преобразование типов данных позволяет выполнять некоторые операции с несовместимыми типами данных.
Например, в приведенном ниже примере показано, что происходит при попытке сложить целое число и строку:
age = "300"
print(age + 300)
# TypeError: can only concatenate str (not "int") to str
В приведенном выше коде мы создали строковое значение со значением “300”. Когда мы попытались добавить его к целому значению 300, то получили ошибку.
Ошибка возникает потому, что компилятор предполагает, что мы пытаемся сложить две строки. Конкатенация строк в Python не может быть выполнена с использованием строки и целого числа.
Чтобы решить эту проблему, можно преобразовать строку в целое число перед тем, как использовать ее в математической операции.
Вот как это можно сделать с помощью функции int():
age = "300"
age_to_int = int(age)
print(age_to_int + 300)
# 600
В приведенном выше коде мы использовали функцию int() для преобразования строки age в целое число: int(age).
Теперь необходимо использовать переменную как целое число.
Чаще всего преобразование строки в целое число используется при получении данных от пользователя. Подобный пример можно посмотреть в этой статье.
Резюме
В этой статье мы поговорили о разборе строк в Python.
Мы рассмотрели примеры, показывающие, как разобрать строку с помощью методов split() и strip().
Мы также посмотрели, как преобразовать строку в целое число с помощью функции int().
Счастливого кодирования!