Анализ текста с помощью методов split и join

analiz teksta s pomoshhju metodov split i join Текст и язык

С учетом основной направленности этой главы особенно полезными для анализа текста оказываются встроенные инструменты Python для разбиения и соединения строк по элементам:

str.split(delimiter?, maxsplits?)

Разбивает строку на список подстрок, по пробельным символам (табуляция, пробел, перевод строки) или по явно указанной строке-разделителю. Параметр maxsplits, если указан, ограничивает количество выполняемых разбиений.

delimiter.join(iterable)

Объединяет последовательность или итерируемый объект подстрок (например, список, кортеж, генератор), добавляя между ними строку-разделитель, относительно которой был выполнен вызов.

Эти два метода являются наиболее мощными среди строковых методов. Как мы видели в главе 2, метод split разбивает строку в список подстрок, а метод join соединяет их вместе:

>>> ‘A B C D’.split()

[‘A’, ‘B’, ‘C’, ‘D’]

>>> ‘A+B+C+D’.split(‘+’)

[‘A’, ‘B’, ‘C’, ‘D’]

>>> ‘—‘.join([‘a’, ‘b’, ‘c’])

abc

Несмотря на свою простоту, они позволяют решать весьма сложные задачи обработки текста. Более того, строковые методы действуют очень быстро, потому что они реализованы на языке C. Например, чтобы быстро заменить в файле каждый символ табуляции четырьмя точками, достаточно просто передать этот файл на стандартный ввод следующего сценария:

from sys import *

stdout.write((‘.’ * 4).join(stdin.read().split(‘\t’)))

Метод split здесь разбивает входную строку по символам табуляции, а метод join объединяет полученные подстроки, вставляя точки там, где раньше были символы табуляции. В данном случае комбинация вызовов двух методов эквивалентна использованию более простого вызова строкового метода, выполняющего глобальную замену, как показано ниже:

stdout.write(stdin.read().replace(‘\t’, ‘.’ * 4))

Как будет показано в следующем разделе, операции разбиения строк вполне достаточно для решения многих задач обработки текста.

Использованная литература:

Марк Лутц — Программирование на Python, 4-е издание, II том, 2011

Каталог сайтов Всего.ру
Оцените статью
Секреты программирования
Добавить комментарий