Найти - Пользователи
Полная версия: определить есть ли слово в тексте
Начало » Python для новичков » определить есть ли слово в тексте
1
gelius
На пхп делаю так:
$text = 'text';
if(preg_match("/слово/", $text))
{
echo 'есть';
}
else {
echo 'нет';
}
Как лучше написать на питоне?
ilnur
по простому

if 'text' in 'some text':
    print 'yes'
else:
    print 'no'
JOHN_16
ilnur
по простому это
print 'yes' if 'text' in 'some_text' else 'no'
Budulianin
gelius

Если нужно определить, есть в тексте отдельное слово или нет, то без регулярок не обойтись.

Если нужно выяснить, есть вхождение в строку или нет, то просто используй оператор in

@cckyi_boxxx
import re
list_of_finded_text = re.findall( r'.*?(слово).*?' , source_text )

финт с оператором in заюзанный например с текстом прочитанным из файла или дернутым с html из инета не сработает из за кодировок , в остальных случаях целесообразнее юзать его



рекомендую юзать aptana studio , на мой взгляд самая няшнпя ИДЕ под питон , она к почти всей стандартной либе дает описалово что делает та или иная функция или класс заюзанной либы , это облегчает работу так как не приходиться держать в голове абсолютно все что натыкали в либу но постепенно это отложиться в голове
Budulianin
@cckyi_boxxx
не сработает из за кодировок , в остальных случаях целесообразнее юзать его

как бы Unicode спасает

Да и для регвыров, тебе тоже нужно будет в Unicode переводить строку, если она не ascii
smoke853
@cckyi_boxxx
r'.*?(слово).*?'
Эта регулярка будет находить все слова в которых есть подстрока ‘слово’.
Я думаю тут лучше использовать якорный метасимвол \b - он соответствует границе слова.
Пример:
import re
text = 'underworld world worldly'
list_of_finded_text = re.findall(r'.*?(world).*?', text)
print(list_of_finded_text)  # Ответ: ['world', 'world', 'world']
res = re.findall(r'\bworld\b', text)
print(res)  # Ответ: ['world']
py.user.next
gelius
Как лучше написать на питоне?
res = re.search(r'\bслово\b', text) is not None
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB