📅  最后修改于: 2023-12-03 14:58:35.886000             🧑  作者: Mango
这是一道门|门 IT 2006 的编程题,以下是该题的具体要求、技术要求和参考答案。
给定一段文本,判断其中是否存在某个单词。要求实现一个函数,传入文本和目标单词,函数返回 true 或 false。
需要注意以下问题:
本题要求使用编程语言 Python 实现。需要充分利用 Python 的语言特性,如字符串操作和正则表达式等。
以下是函数的定义和参数说明:
def is_word_in_text(text: str, word: str) -> bool:
pass
以下为本题的参考答案,请程序员合理使用,不得抄袭。
import re
def is_word_in_text(text: str, word: str) -> bool:
# 将文本和目标单词都转换成小写
text = text.lower()
word = word.lower()
# 去除标点符号,仅保留单词
pattern = r"\b\w+\b"
words = re.findall(pattern, text)
# 循环遍历每个单词,判断是否匹配
for w in words:
if w == word:
return True
return False
上面的代码中,使用了正则表达式去除标点符号和提取单词。同时,使用了 Python 内置的字符串方法 lower 来忽略大小写。最后,使用循环遍历单词列表,判断目标单词是否匹配。如果匹配则返回 True,否则返回 False。
程序员在实现时,可以根据具体的需求进行优化和改进。比如,使用 Python 内置的 in 关键字来代替循环进行查找,使用 set 集合来提高查找效率等。