作者:道貌岸然小皇猪_497_603 | 来源:互联网 | 2022-12-02 17:19
我试图找出一个特定的字符串是否包含在另一个字符串中.
我确实使用了标准的Python,if "abc" in mystring:
尽管这个触发器也存在ab
或者bc
在字符串中; 给我带来麻烦.
有没有办法只找到abc
另一个字符串中的字符串; 而不是一部分abc
?我确实研究过RE,但我认为可以通过这种in
方法来完成.
试着运行这个,你会得到yes
:
if "atest" or "mytest" in "test_myapp":
print("yes")
Carcigenicat..
5
现在您已经发布了完整的代码,这更有意义.
如果你在REPL中运行它:
"atest" or "mytest" in "test_myapp"
你会看到它评估为'atest'
,这是真的.这是因为您的代码被解析为:
("atest") or ("mytest" in "test_myapp")
"atest"
是真实的,所以or
评价"atest"
甚至没有评估in
部分.
你需要完全写出它才能表现得像你期望的那样:
test_str = "test_myapp"
if "atest" in test_str or "mytest" in test_str:
或者做一些聪明的事情all
/ any
可以减少重复.
这就是为什么包含一个最小的例子是很重要的,这样我们就可以验证你所描述的行为.
1> Carcigenicat..:
现在您已经发布了完整的代码,这更有意义.
如果你在REPL中运行它:
"atest" or "mytest" in "test_myapp"
你会看到它评估为'atest'
,这是真的.这是因为您的代码被解析为:
("atest") or ("mytest" in "test_myapp")
"atest"
是真实的,所以or
评价"atest"
甚至没有评估in
部分.
你需要完全写出它才能表现得像你期望的那样:
test_str = "test_myapp"
if "atest" in test_str or "mytest" in test_str:
或者做一些聪明的事情all
/ any
可以减少重复.
这就是为什么包含一个最小的例子是很重要的,这样我们就可以验证你所描述的行为.