如何取得中文字符串中出现次数最多的子串

2025-05-29 0 93

直接上代码,子串的长度可自己设置(比如连续4个字符的或5个字符的)。

复制代码 代码如下:


$str ='我是中国人我是外国人我是韩国人我是美国人我是中国人我是英国人我是中国人我是外国人';
Count_string($str,5);
function Count_string($sstr,$length)
{
$cnt_tmp = 0;
$cnt = 0;
$str = '';
$str_tmp = array();
$str_arr = array();
mb_internal_encoding("gb2312");
$max_length = (mb_strlen($sstr)-$length);

//取得子串
for($i=0;$i<=$max_length;$i++)
{
$str_tmp[] = mb_substr($sstr, $i, $length);
}
//去除重复子串
$str_tmp = array_unique($str_tmp);

//计算出现次数
foreach($str_tmp as $key=>$value)
{
$cnt_tmp = mb_substr_count($sstr,$value);
if($cnt_tmp>=$cnt)
{
$cnt = $cnt_tmp;
$str_arr[$value] = $cnt;
}
}

//处理出现多重结果
foreach($str_arr as $key=>$value)
{
if($value == $cnt)
{$str .=$key."<br>";}
}

echo '出现最多的子串是:<br>'.$str.'<br>出现次数:'.$cnt;
}

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 如何取得中文字符串中出现次数最多的子串 https://www.kuaiidc.com/106615.html

相关文章

发表评论
暂无评论