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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2023, 13:09   #1
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 2,867
По умолчанию Текст разбить на слова

здравствуйте, по сабжу, делаю это так:
Код:
import re
from re import findall
 
text = "кожно-венерологический диспансер"
# \w - любая буква (то, что может быть частью слова), а также цифры и знак нижнего подчёркивания _
words = re.findall(r'\w+', text)
print(words)
ответ
['кожно', 'венерологический', 'диспансер']
не есть гут, как получить такой ответ
['кожно-венерологический', 'диспансер']
в подобных случаях?, спасибо
Ципихович Эндрю вне форума Ответить с цитированием
Старый 17.11.2023, 14:13   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,592
По умолчанию

нужно ли отличать "проаграмм-это код"?
p51x вне форума Ответить с цитированием
Старый 17.11.2023, 14:19   #3
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 2,867
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
нужно ли отличать "проаграмм-это код"?
да, нужно
Ципихович Эндрю вне форума Ответить с цитированием
Старый 17.11.2023, 14:32   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,592
По умолчанию

тогда нужен словарь
p51x вне форума Ответить с цитированием
Старый 17.11.2023, 14:42   #5
Steelcraft
Пользователь
 
Регистрация: 13.03.2023
Сообщений: 86
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
как получить такой ответ
['кожно-венерологический', 'диспансер']
в подобных случаях?, спасибо
Попробуйте:
Код:
[a-zA-Zа-яА-Я\-]+
Steelcraft вне форума Ответить с цитированием
Старый 17.11.2023, 21:39   #6
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 2,867
По умолчанию

Код:
import re
from re import findall

text = "кожно-венерологический диспансер"
print(re.findall(r'\w+', text))
print(re.findall(r'[a-zA-Zа-яА-Я\-]+', text))
вроде гут
['кожно', 'венерологический', 'диспансер']
['кожно-венерологический', 'диспансер']
спасибо
Ципихович Эндрю вне форума Ответить с цитированием
Старый 18.11.2023, 14:10   #7
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 2,867
По умолчанию

и про букву ё не забываем))
re.findall(r'[a-zA-Zа-яёА-ЯЁ\-]+', text)
Ципихович Эндрю вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
текст разбить на слова и записать в новый документ shkolnik45 Microsoft Office Word 1 19.12.2021 01:19
Как разбить строку на слова? Le0n41 Общие вопросы C/C++ 2 24.11.2021 23:29
как разбить строки на слова? Lapo4ka Общие вопросы C/C++ 7 01.05.2011 17:09
разбить текст на слова yuliyayuliya Помощь студентам 2 05.04.2011 16:31
Разбить текст на слова и произвести поиск каждого слова по текстовому массиву Burning_brook Microsoft Office Excel 2 22.05.2010 01:56