如何在字符串中找到出现?

bah*_*100 0 php regex string substring

我想知道什么是知道我的子串是否在字符串中的最佳方法.

所以,我可以有这样的价值:

"abcd.tif"
"abcd_A.tif"
"abcd_B.tif"
"abcd_VP.tif"
Run Code Online (Sandbox Code Playgroud)

我会检测字符串中是否存在"_A"或"_B"或"_VP".

什么是最好的方式?使用substr和strlen的组合?

还是用正则表达式?

Exp*_*lls 6

使用strpos,它将为您提供字符串中针的0索引位置.如果它不在字符串中,则strpos返回false.(也有不区分大小写的stripos).

但是,您一次只能检查一根针.如果您想同时检查这三个中的任何一个,您可以使用循环或编写terser但效率较低的方式:

preg_match('/_A|_B|_VP/', $str)
Run Code Online (Sandbox Code Playgroud)

... true如果这三个字符串中的任何一个匹配,它将返回.