首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >搜索字符串中的字符

搜索字符串中的字符
EN

Stack Overflow用户
提问于 2012-03-09 22:45:25
回答 8查看 416关注 0票数 1
代码语言:javascript
复制
$str1 = "HEADINGLEY";
$str2 = "HDNGLY";

如何搜索字符串1以查看它是否包含字符串2中的所有字符,并返回true或false值?

感谢任何帮助:D

如果这有帮助,这是我到目前为止必须更新的代码。

代码语言:javascript
复制
echo preg_match('/.*H.*D.*N.*G.*L.*Y.*/', $str1, $matches);

返回0

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-03-09 22:50:20

我想我会用preg_match

http://us.php.net/manual/en/function.preg-match.php

...and使用str_split$str2转换为正则表达式,使用str_split获取数组,使用implode将其转换回字符串,并使用".*"作为字符之间的粘合剂。

http://us.php.net/manual/en/function.str-split.php http://us.php.net/manual/en/function.implode.php

Upate --我应该建议使用str_split而不是explode,下面的代码将从$str2中获得正则表达式

代码语言:javascript
复制
$str2pat = "/.*" . implode(".*", str_split($str2)) . ".*/";
票数 1
EN

Stack Overflow用户

发布于 2012-03-09 22:48:23

您可以使用一些正则表达式匹配,如.*H.*D.*N.*G.*L.*Y.*preg_match

应该足够简单,可以在第二个字符串中添加.*

票数 0
EN

Stack Overflow用户

发布于 2012-03-09 22:49:15

假设字符串是数组,然后使用array_diff函数。

http://hu2.php.net/array_diff

代码语言:javascript
复制
$str1 = "HEADINGLEY";
$str2 = "HDNGLY";

$arr1 = str_split($str1, 1);
$arr2 = str_split($str2, 1);

$arr2_uniques = array_diff($arr2, $arr1);

return array() === $arr2_uniques;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9635943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档