美文网首页
获取中英文字符串按序全排列

获取中英文字符串按序全排列

作者: 晨雨微风 | 来源:发表于2019-12-06 13:58 被阅读0次

/**

* 获取字符串按序全排列(英文) e.g. abcd => a ab abc abcd b bc bcd c cd d

*

* @param $str

* @param string $separator

* @return array

*/

function getSortCombinations($str, $separator = '') {

    if ($separator !== '') {

        $chars = explode($separator, $str);

    } else {

        $chars = str_split($str);

    }

    $res = $chars;

    $count = count($chars);

    for ($i = 0; $i < $count - 1; $i++) {

        $tmp = $chars[$i];

        for ($j = $i + 1; $j < $count; $j++) {

            $tmp = $tmp . $chars[$j];

            $res[] = $tmp;

        }

}

    return $res;

}

/**

* 获取字符串按序全排列(中文)

*

* @param $str

* @return array

*/

function getSortCombinationsChinese($str) {

    $chars = preg_split('/(?<!^)(?!$)/u', $str);

    $res = $chars;

    $count = count($chars);

    for ($i = 0; $i < $count - 1; $i++) {

        $tmp = $chars[$i];

        for ($j = $i + 1; $j < $count; $j++) {

            $tmp = $tmp . $chars[$j];

            $res[] = $tmp;

        }

}

    return $res;

}

推荐: 浮生无事的博客

相关文章

  • 获取中英文字符串按序全排列

    /*** 获取字符串按序全排列(英文) e.g. abcd => a ab abc abcd b bc bcd c...

  • 字符串全排列

    题目描述 对给定的n位字符串全排列 解题思路 n位的字符串的全排列,先确定第0位,然后对后面n-1位进行全排列,在...

  • 关于数组的一些操作【python】

    递归的应用:求输入字符串的全排列 求输入字符串的全排列递归完成,也可以直接使用库函数 结果展示: ————————...

  • 递归算法

    问题1:给定不重复的字符串,如123,给出全排列 分析:算123的全排列,首先算以1开头的23的全排列,然后再算以...

  • Rxjava笔记

    flatMap 无法保证事件队列U是按序排列 concatMap 可以保证按序 switchMap 旧的中间Obs...

  • 字符串

    * 中英文混合字符串截取 * 获取字符串字节数 * 多行字符串,最后一行的中间处省略多余字符

  • 字符串全排列

    经常会遇到字符串全排列的问题。例如:输入为{‘a’,’b’,’c’},则其全排列组合为abc,acb,bac,bc...

  • Go语言获取中英文混和字符串的长度以及子字符串的方法

    Go语言获取中英文混和字符串的长度以及子字符串的方法[https://blog.csdn.net/sinat_32...

  • 字符串全排列

    题目:https://www.nowcoder.com/practice/fe6b651b66ae47d7acce...

  • 字符串全排列

网友评论

      本文标题:获取中英文字符串按序全排列

      本文链接:https://www.haomeiwen.com/subject/igfegctx.html