Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2021, 18:04   #1
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию Найти слова с латинскими буквами

здравствуйте, делаю так:
Код:
import re

# в функции re.findall() можно использовать регулярные выражения, а значит, делать поиск по более сложным условиям
txt_html_text = re.sub('\W', ' ', 'This is a simple привет рока снова t3est message for test').split()
print(txt_html_text)  # => ['This', 'is', 'a', 'simple', 'привет', 'рока', 'снова', 't3est', 'message', 'for', 'test']
print([re.findall('[a-z]', i) for i in txt_html_text])
получаю:
[['h', 'i', 's'], ['i', 's'], ['a'], ['s', 'i', 'm', 'p', 'l', 'e'], [], [], [], ['t', 'e', 's', 't'], ['m', 'e', 's', 's', 'a', 'g', 'e'], ['f', 'o', 'r'], ['t', 'e', 's', 't']]
нужны слова, а не буквы, спс за помощь?
Ципихович Эндрю на форуме Ответить с цитированием
Старый 06.01.2021, 23:49   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

Код:
import re
# в функции re.findall() можно использовать регулярные выражения,
# а значит, делать поиск по более сложным условиям
txt_html_text = re.sub('\W', ' ', 'This is a simple привет рока снова t3est message for test').split()
print(txt_html_text)  # => ['This', 'is', 'a', 'simple', 'привет', 'рока', 'снова', 't3est', 'message', 'for', 'test']
rez = [re.findall(r'[A-Za-z]+', i) for i in txt_html_text]
print(rez)
У меня так.
r - необходима. A-Z - это для заглавных. + - это всё что слева от последнего символа слова.
Тут конечно же у меня нет достаточных знаний. Просто попробовал исходя из общих посылок.

Правда в список вставляются и пустые значения: кирилличные слова:
Код:
[['This'], ['is'], ['a'], ['simple'], [], [], [], ['t', 'est'], ['message'], ['for'], ['test']]
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 07.01.2021, 11:01   #3
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

Код:
import re
x=re.sub('\W', ' ', 'This is a simple привет рока снова t3est message for test').split()
a=[y for y in x if re.search('[a-z]',y)]
print(a)
Ципихович Эндрю на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно в cheklistbox вставить имена поля на с русскими буквами если в бд имя поля с латинскими букв Shingis БД в Delphi 9 20.04.2015 22:12
строки: Найти слова, записанных одними и теми же буквами, но отличающиеся их порядком 22hope22 C# (си шарп) 4 24.04.2013 22:58
в заданной строке символов (отдельные слова, разделенные пробелом) найти слова с совпадающими первой и последней буквами (С++) T_h_i_s Помощь студентам 0 19.11.2012 18:37
Дана строка символов - найти слова с одинаковыми буквами Almos Паскаль, Turbo Pascal, PascalABC.NET 1 22.06.2012 02:20
Паскаль. Файлы - Создать подпрограмму для заполнения файла латинскими и русскими буквами Антон Лысенко Помощь студентам 2 15.12.2010 22:44