Как разбить строку на символы python

от admin

Функции str.split и rsplit() в Python

Функция split() в Python используется для разделения строки на список строк на основе разделителя.

В качестве разделителя используется аргумент sep. Если строка содержит последовательные разделители, возвращается пустая строка. Аргумент-разделитель также может состоять из нескольких символов.

Если разделитель не указан или None, то в качестве разделителя рассматриваются пробелы. В этом случае пустая строка не будет возвращена, если в начале или в конце есть пробелы. Кроме того, несколько пробелов будут рассматриваться, как один разделитель.

Если предоставляется maxsplit, выполняется не более maxsplit (таким образом, список будет содержать не более maxsplit + 1 элементов). Если maxsplit не указан или -1, то количество разделений не ограничено, и все возможные разделения возвращаются в списке.

Пример

Давайте посмотрим на простой пример, где строка будет разделена на список на основе указанного разделителя.

split() с maxsplit

Обратите внимание, что в возвращенном списке всего 2 элемента, строка была разделена только один раз.

sep не указан или None

Начальные и конечные пробелы игнорируются в возвращаемом списке. Кроме того, последовательные пробелы также считаются одним разделителем.

Как разбить строку на символы python

data = «GeeksforGeeks, is_an-awesome ! website»

print ( «The original string is : » + data)

print ( «The list after performing split functionality : » + str (res))

The original string is : GeeksforGeeks, is_an-awesome ! website
The list after performing split functionality : [‘GeeksforGeeks’, ‘is’, ‘an’, ‘awesome ‘, ‘ website’]

newData = «GeeksforGeeks, is_an-awesome ! app + too»

Использование re.findall ()

data = «This, is — another : example?!»

print ( «The original string is : » + data)

print ( «The list after performing split functionality : » + str (res))

The original string is : This, is – another : example?!
The list after performing split functionality : [‘This’, ‘is’, ‘another’, ‘example’]

testData = «This, is — underscored _ example?!»

Использование replace () и split ()

print ( «The original string is : » + data)

print ( «The list after performing split functionality : » + str (res))

The original string is : Let’s_try, this now
The list after performing split functionality : [“Let’s”, ‘try’, ‘this’, ‘now’]

Полезные методы для работы со строками#

При автоматизации очень часто надо будет работать со строками, так как конфигурационный файл, вывод команд и отправляемые команды — это строки.

Знание различных методов (действий), которые можно применять к строкам, помогает более эффективно работать с ними.

Строки — неизменяемый тип данных. Поэтому все методы, которые преобразуют строку, возвращают новую строку, а исходная строка остается неизменной.

Метод join#

Метод join собирает список строк в одну строку с разделителем, который указан перед join:

Методы upper, lower, swapcase, capitalize#

Методы upper() , lower() , swapcase() , capitalize() выполняют преобразование регистра строки:

Очень важно обращать внимание на то, что часто методы возвращают преобразованную строку. И, значит, надо не забыть присвоить ее какой-то переменной (можно той же).

Метод count#

Метод count() используется для подсчета того, сколько раз символ или подстрока встречаются в строке:

Метод find#

Методу find() можно передать подстроку или символ, и он покажет, на какой позиции находится первый символ подстроки (для первого совпадения):

Если совпадение не найдено, метод find возвращает -1 .

Методы startswith, endswith#

Проверка на то, начинается или заканчивается ли строка на определенные символы (методы startswith() , endswith() ):

Методам startswith() и endswith() можно передавать несколько значений (обязательно как кортеж):

Метод replace#

Замена последовательности символов в строке на другую последовательность (метод replace() ):

Метод strip#

Часто при обработке файла файл открывается построчно. Но в конце каждой строки, как правило, есть какие-то спецсимволы (а могут быть и в начале). Например, перевод строки.

Для того, чтобы избавиться от них, очень удобно использовать метод strip() :

По умолчанию метод strip() убирает пробельные символы. В этот набор символов входят: \t\n\r\f\v

Методу strip можно передать как аргумент любые символы. Тогда в начале и в конце строки будут удалены все символы, которые были указаны в строке:

Метод strip() убирает спецсимволы и в начале, и в конце строки. Если необходимо убрать символы только слева или только справа, можно использовать, соответственно, методы lstrip() и rstrip() .

Метод split#

Метод split() разбивает строку на части, используя как разделитель какой-то символ (или символы) и возвращает список строк:

В примере выше string1.split() разбивает строку по пробельным символам и возвращает список строк. Список записан в переменную commands.

По умолчанию в качестве разделителя используются пробельные символы (пробелы, табы, перевод строки), но в скобках можно указать любой разделитель:

В списке commands последний элемент это строка с вланами, поэтому используется индекс -1. Затем строка разбивается на части с помощью split commands[-1].split(‘,’) . Так как, как разделитель указана запятая, получен такой список [’10’, ’20’, ’30’, ‘100-200’] .

Читать:
Как скопировать границы ячеек в excel

Пример разделения адреса на октеты:

Полезная особенность метода split с разделителем по умолчанию — строка не только разделяется в список строк по пробельным символам, но пробельные символы также удаляются в начале и в конце строки:

У метода split() есть ещё одна хорошая особенность: по умолчанию метод разбивает строку не по одному пробельному символу, а по любому количеству. Это будет, например, очень полезным при обработке команд show:

А вот так выглядит разделение той же строки, когда один пробел используется как разделитель:

Как разбить строку на символы python

Рассмотрим основные методы строк, которые мы можем применить в приложениях:

isalpha() : возвращает True, если строка состоит только из алфавитных символов

islower() : возвращает True, если строка состоит только из символов в нижнем регистре

isupper() : возвращает True, если все символы строки в верхнем регистре

isdigit() : возвращает True, если все символы строки — цифры

isnumeric() : возвращает True, если строка представляет собой число

startswith(str) : возвращает True, если строка начинается с подстроки str

endswith(str) : возвращает True, если строка заканчивается на подстроку str

lower() : переводит строку в нижний регистр

upper() : переводит строку в вехний регистр

title() : начальные символы всех слов в строке переводятся в верхний регистр

capitalize() : переводит в верхний регистр первую букву только самого первого слова строки

lstrip() : удаляет начальные пробелы из строки

rstrip() : удаляет конечные пробелы из строки

strip() : удаляет начальные и конечные пробелы из строки

ljust(width) : если длина строки меньше параметра width, то справа от строки добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по левому краю

rjust(width) : если длина строки меньше параметра width, то слева от строки добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по правому краю

center(width) : если длина строки меньше параметра width, то слева и справа от строки равномерно добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по центру

find(str[, start [, end]) : возвращает индекс подстроки в строке. Если подстрока не найдена, возвращается число -1

replace(old, new[, num]) : заменяет в строке одну подстроку на другую

split([delimeter[, num]]) : разбивает строку на подстроки в зависимости от разделителя

partition(delimeter) : разбивает строку по разделителю на три подстроки и возвращает кортеж из трех элементов — подстрока до разделителя, разделитель и подстрока после разделителя

join(strs) : объединяет строки в одну строку, вставляя между ними определенный разделитель

Например, если мы ожидаем ввод с клавиатуры числа, то перед преобразованием введенной строки в число можно проверить, с помощью метода isnumeric() введено ли в действительности число, и если так, то выполнить операцию преобразования:

Проверка, начинается или оканчивается строка на определенную подстроку:

Удаление пробелов в начале и в конце строки:

Дополнение строки пробелами и выравнивание:

Поиск в строке

Для поиска подстроки в строке в Python применяется метод find() , который возвращает индекс первого вхождения подстроки в строку и имеет три формы:

find(str) : поиск подстроки str ведется с начала строки до ее конца

find(str, start) : параметр start задает начальный индекс, с которого будет производиться поиск

find(str, start, end) : параметр end задает конечный индекс, до которого будет идти поиск

Если подстрока не найдена, метод возвращает -1:

Замена в строке

Для замены в строке одной подстроки на другую применяется метод replace() :

replace(old, new) : заменяет подстроку old на new

replace(old, new, num) : параметр num указывает, сколько вхождений подстроки old надо заменить на new. По умолчанию num равно -1, что соответствует первой версии метода и приводит к замене всех вхождений.

Разделение на подстроки

Метод split() разбивает строку на список подстрок в зависимости от разделителя. В качестве разделителя может выступать любой символ или последовательность символов. Данный метод имеет следующие формы:

split() : в качестве разделителя используется пробел

split(delimeter) : в качестве разделителя используется delimeter

split(delimeter, num) : параметр num указывает, сколько вхождений delimeter используется для разделения. Оставшаяся часть строки добавляется в список без разделения на подстроки

Еще один метод — partition() разбивает строку по разделителю на три подстроки и возвращает кортеж из трех элементов — подстрока до разделителя, разделитель и подстрока после разделителя:

Если разделитель с строке не найден, то возвращается кортеж с одной строкой.

Соединение строк

При рассмотрении простейших операций со строками было показано, как объединять строки с помощью операции сложения. Другую возможность для соединения строк представляет метод join() : он объединяет список строк. Причем текущая строка, у которой вызывается данный метод, используется в качестве разделителя:

Вместо списка в метод join можно передать простую строку, тогда разделитель будет вставляться между символами этой строки:

Похожие статьи