На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD
  
    > python: модуль re не дружит с буквой ч? , неужели модуль re не дружит с буквой ч?
      Цель - получить все русские и английские слова из текста и только их(т.е. как минимум убрать разные знаки препинания).

      Есть ф-я:

      Код:

      ExpandedWrap disabled
        def only_words (text):
           tokens = re.compile(r"[\w']+", re.UNICODE)
           words = tokens.findall(text)
           return "\n".join(words)



      Причем она почти идеально работает, вот только проблеммы с буквой "ч" у нее - эта буква банально не считается за букву (видно по результатам работы скрипта).

      text = "чукча чукчу. Чичибечит? - давай-давай one two 12"

      Результат работы only_words (text) следующий:

      ук
      а
      ук
      у
      и
      ибе
      ит
      давай
      давай
      one
      two
      12


      В чем может быть проблема с этой буквой?
        Почему тогда этот код

        ExpandedWrap disabled
          #! /usr/bin/env python
          encoding = 'utf-8'
          text = unicode("чукча чукчу. Чичибечит? - давай-давай one two 12")
          print text


        Выдает положенное

        ExpandedWrap disabled
          чукча чукчу. Чичибечит? - давай-давай one two 12


        ??? :blink: С буквой "Ч" все нормально!!!

        Добавлено
        И к тому же
        Цитата http://www.iso.ru/journal/articles/44.html
        Регулярные выражения (модуль re) обрабатывают строки Unicode.
        :yes:
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0239 ]   [ 15 queries used ]   [ Generated: 3.05.24, 19:57 GMT ]