在开发时我们可能会经常要去除重复的字符串,下面我以php为例来介绍在php中去除重复的字符串多方法.
正则表达式,代码如下:
echo preg_replace("/([^s]+)*1{2,}([^s]+)*/",'',$string);
用循环我给写了个.
例1,代码如下:
$str = 'abccba 9872223s 12121212 ddd 1234560 vbwwc asasasasas zxzx qaz'; $source_array = explode(" ", $str); foreach($source_array as $key=>$item){ $current_str = str_split($item, 1); $current_array=array_count_values($current_str); foreach ($current_array as $k => $it){ if($it>=3) unset($source_array[$key]); } } var_dump($source_array);
例2,代码如下:
<?php $str = '蚂蚁蚂蚁学院学院,我非常爱爱爱爱爱你!522200011111333311111444'; function mbstringtoarray($str, $charset) { $strlen = mb_strlen($str); while ($strlen) { $array[] = mb_substr($str, 0, 1, $charset); $str = mb_substr($str, 1, $strlen, $charset); $strlen = mb_strlen($str); } return $array; } $arr = mbstringtoarray($str, "gbk"); //分割字符串 $arr = array_unique($arr); //过滤重复字符 $str = implode('', $arr); //合并数组 echo $str; ?>
另一种办法:preg_replace_callback() 就更简单了,不过 preg_replace() 可以使用e修饰符来实现PREG_REPLACE_EVAL,能达到差不多的效果,代码如下:
<?php echo preg_replace('/([^s]+)/e', 'check("1")', $string); function check($str) { $tmp = count_chars($str, 1); sort($tmp); return array_pop($tmp) > 2 ? "" : $str; } ?>
本文地址:
转载随意,但请附上文章地址:-)
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
3週間前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最高のグラフィック設定
3週間前By尊渡假赌尊渡假赌尊渡假赌
アサシンのクリードシャドウズ:シーシェルリドルソリューション
2週間前ByDDD
R.E.P.O.誰も聞こえない場合はオーディオを修正する方法
3週間前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:Myriseのすべてのロックを解除する方法
1 か月前By尊渡假赌尊渡假赌尊渡假赌

ホットツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ドリームウィーバー CS6
ビジュアル Web 開発ツール
