<p>有没有更好的方法来找到someStr中某个字符的第一次出现:“x”、“y”、“z”?在</p>
<pre><code>def findFirstAppearance(someStr):
x = someStr.find('x');
y = someStr.find('y');
z = someStr.find('z');
if x == -1: x= len(someStr);
if y == -1: y= len(someStr);
if z == -1: z= len(someStr);
return min(x,y,z);
</code></pre>
<p>例如:对于someStr=“axby”,它应该返回1。
对于someStr=“aybx”,它也应该返回1。在</p>
<p>谢谢!在</p>
<p>这里有一个使用正则表达式的替代方法。在</p>
<pre><code>import re
def find_first_dx(needles, haystack):
match = re.search('|'.join(map(re.escape, needles)), haystack)
return match.start() if match else -1
</code></pre>
<p>示例:</p>
^{pr2}$