Python-рецепты. Обработка текста.


В этой статье мы изучим возможности, которые предоставляет python при обработке текстовой информации. Для различных преобразований и операций над строковыми переменными, а так же обработки текста в python обычно используют модули string и re. С помощью string можно производить операции над строками, а с помощью re – обрабатывать текст с использованием регулярных выражений. Ввиду емкости материала по регулярным выражениям рассмотрим только модуль string – для обработки простых текстовых файлов будет вполне достаточно.

Модуль string

# python-рецепты (работа с текстом)

# подключаем модуль string
import string

# определяем строку (одинарные или двойные кавычки)
st = 'aa1 ab2 aa3 ab4'
st1 = "word1,word2,word3,word_N"
# определяем многострочную строку (тройные кавычки)
st2 = '''string 1
string 2
string n'''

# суммирование строк
print st + st1

# count - возвращает количество вхождений подстроки в строку
# (строки 'ab' в строку st)
print string.count(st, 'ab')

# можно работать со строкой как с массивом символов
# выведет ab2
print st[4:7]

# find - возвращает номер символа в строке с которого начинается подстрока
# выведет 4
print string.find(st, 'ab')
# выведет -1, так как в строке нет подстроки 'aaa'
print string.find(st, 'aaa')

# возвращает строку в верхнем регистре
print string.upper('fgfHLKJ')
# возвращает строку в нижнем регистре
print string.lower('fgfHLKJ')

# разделителем ',' разбиваем строку на массив строк
print string.split(st1, ',')
# зная, что символ новой строки это '\n',
# преобразуем многострочную строку в массива строк
lines = string.split(st2, '\n')
print lines

# теперь обратная операция - из массива строк
# делаем одну, добавляя между ними разделитель '=='
new_str = string.join(lines, '==')
# выведет 'string 1==string 2==string n'
print new_str

# replace - замена подстрок в строке
# меняем '==' на '=>>'
print string.replace(new_str, '==', '=>>')

Если есть вопросы – задаем их в комментариях.

, ,



  1. #1 by Владимир on 11 Март 2013 - 14:05

    Вопрос:

    Замените символы аа на ок в 3 номере строки.

(никто не узнает)