我想知道Python中是否有任何函数可以检查字符串值的子字符串,包括任何字典单词。
例如 check_str =“!$#apple!ed”
check_str
包括“ apple”
,这是一个字典单词,我想检查一下是否有任何方法可以检查它。
问题来源:stackoverflow
这是自然语言的临界处理方法,但是一个幼稚的解决方案是从文本文件中加载有效单词列表,将字符串拆分为字母字符块,然后在字典中查找每个字符。
>>> import re
>>> import requests
>>> s = "!$#apple!ed"
>>> url = "https://raw.githubusercontent.com/dwyl/english-words/master/words_dictionary.json"
>>> words = requests.get(url).json()
>>> alpha_chunks = re.findall(r"[a-z]+", s, re.I)
>>> [x for x in alpha_chunks if x.lower() in words]
['apple', 'ed']
事实证明,除“ apple”之外,“ ed”是一个完全有效的词典单词,因此,如果您打算拒绝该单词,请使用适合您需要的单词列表。另外,上面要求的字典为6 mb,因此您可能希望根据使用情况将其缓存。
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。