У меня есть строка, в которой слово «LOCAL» встречается много раз. Я использовал функцию find()
для поиска этого слова, но он также возвращает другое слово «Locally». Как я могу точно совместить слово «local»?Строковое точное соответствие
11
A
ответ
30
Для такого рода вещи, регэкспы очень полезны:
import re
print(re.findall('\\blocal\\b', "Hello, locally local test local."))
// ['local', 'local']
\ Ь означает границу слова, в основном. Может быть пространство, знаки препинания и т.д.
Edit для комментариев:
print(re.sub('\\blocal\\b', '*****', "Hello, LOCAL locally local test local.", flags=re.IGNORECASE))
// Hello, ***** locally ***** test *****.
Вы можете удалить флаги = re.IGNORECASE, если вы не хотите, чтобы игнорировать случай, очевидно.
0
Ищите «местные»? Обратите внимание, что Python чувствителен к регистру.
0
Выполните поиск по регулярному выражению для \ blocal \ б
\ Ь «слово boundry» может включать в себя зачатки линий, концы линий, знаков препинания и т.д.
Вы также можете искать случай бесчувственно.
1
Вы можете использовать регулярные выражения, чтобы ограничить матчи происходят на границе слова, как это:
import re
p = re.compile(r'\blocal\b')
p.search("locally") # no match
p.search("local") # match
p.findall("rty local local k") # returns ['local', 'local']
9
Ниже вы можете использовать простую функцию.
def find_word(text, search):
result = re.findall('\\b'+search+'\\b', text, flags=re.IGNORECASE)
if len(result)>0:
return True
else:
return False
Использование:
text = "Hello, LOCAL locally local test local."
search = "local"
if find_word(text, search):
print "i Got it..."
else:
print ":("
1
line1 = "This guy is local"
line2 = "He lives locally"
if "local" in line1.split():
print "Local in line1"
if "local" in line2.split():
print "Local in line2"
Только line1 будет соответствовать.
благодарен за его работу .. но есть еще одна проблема, когда я пытаюсь заменить «Локальный» другим словом, он также заменяет «локально», как «***** ly». –
Это то же самое, но вы используете re.sub вместо re.findall. Я редактировал свой пост. –
спасибо .... его работа .. я пытался его с трех дней .. ты действительно гуру-питон. –