php-输入两个字符串,从第一字符串中删除第二个字符串中所有的字符
这道题目是好未来的笔试题,我是在牛客上看到的,因为对于php比较熟悉所以就用php试着解决一下,但是不知道是牛客在线编译系统的问题还是其他问题,我在自己本地的编译器上可以正常运行,但是在牛客上一直显示case率是25%
但是这个方法自我感觉是争取的,分享一下看看:
首先题目要求是从第一个字符串中删除第二个字符串中的所有字符,这个就不禁让我们想到使用数组相减的方法,字符串和数组不分家,一般考察字符串就不能不向着数组考虑,php中有一个自带的函数array_diff,主要是求两个数组的差集,不懂的可以看看php的手册
1。首先定义一个函数
function del_sub_str($str,$sub) {
$strlen = iconv_strlen($str,"UTF-8");
$sublen = iconv_strlen($sub,"UTF-8");
$strarray = array();
$subarray = array();
for ($i = 0;$i < $strlen;$i++) {
$strarray[] = iconv_substr($str,$i,1,"UTF-8");
}
for($i=0;$i<$sublen;$i++){
$subarray[]=iconv_substr($sub,$i,1,"utf-8");//将第二个字符串转换成数组
}
$diff = array_diff($strarray,$subarray);
// 将数组转换成字符串
echo implode(" ",$diff);
}
先将这两个字符串转换成数组的形式,然后在求这两个数组的差集,最后使用implode函数分割成字符串输出
大家可以在这里看到使用iconv_strlen()、iconv_substr() 使用这个函数主要是为了防止输入的字符串是中文的情
最后调用该函数就可以了
del_sub_str("They are students.","aeiou");
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: 商品添加-选择商品类型自动加载商品属性
- 下一篇: tp5改写跳转提示页面
