如何在文本中查找目标词汇?需检测PS而非完整匹配FPS
解决文本中检测"PS"存在性的问题
你的问题很明确——之前的代码找的是完整的"FPS"字符串,但目标文本里根本没有"F",当然匹配不上啦!我们可以根据你的具体需求用两种简单方法解决:
方法1:直接检测子串"PS"
如果只需要确认文本里包含"PS"这个子串(不管它是不是单独的单词),直接把判断条件改成检查"PS"即可:
text = "PS 18 26888 12345" if "PS" in text: print("文本中包含PS") else: print("文本中不包含PS")
这个方法简单直接,完全适配你的场景,因为目标文本开头就是"PS",会直接匹配成功。
方法2:检测独立单词"PS"(避免部分匹配)
如果之后需要避免类似"FPS"中的"PS"被误判(比如未来文本可能出现这类情况),可以用正则表达式的单词边界来确保"PS"是一个独立的单词:
import re text = "PS 18 26888 12345" if re.search(r'\bPS\b', text): print("文本中包含独立的PS单词") else: print("文本中不包含独立的PS单词")
这里的\b代表单词边界,会确保"PS"前后不是字母、数字或下划线,完美区分独立的"PS"和其他字符串里的"PS"片段。
总结一下:你之前的代码错误是因为判断的是"FPS"而非"PS",只要把判断的目标字符串改成"PS",就能实现你的需求啦!
内容的提问来源于stack exchange,提问作者Ankita Agharkar
相关产品推荐
相关产品推荐

