在字符串中连续出现的字符替换为单一字符

如字符串 aaaabbbccccddddeeeefff

一位同学的写法:

  1. <?php
  2. $original_string = 'aaaabbbccccddddeeeefff';
  3. $splited_arr = str_split( $original_string );
  4. $unique_arr = array_unique( $splited_arr );
  5. $final_string = "";
  6. foreach ($unique_arr as $unique_str)
  7. {
  8.   $final_string .= $unique_str;
  9. }
  10. echo $final_string;
  11. ?>

 

我用正则替换:

  1. <?php
  2. $str = 'aaaabbbccccddddeeeefff';
  3. echo preg_replace("/(.)\\1+/", "\\1", $str);
  4. ?>

 

NOTE:如果字符中有中文.只能使用第一种方法.

2 条评论

  1. jinxuan

    学习了..呵…

  2. suner

    第一种不用循环..把数组join成字符串

发表评论

验证码: 验证码看不清发泄点这里

 

浏览最多的10篇日志

评论最多的10篇日志

随机显示的10篇日志