繁体   English   中英

如何按顺序查找特定字符的出现次数

[英]How to find number of occurences of particular characters in sequential order

我正在尝试查找一组字符中特定字符串出现的次数。 字符串中的字母不必彼此相邻,但必须按顺序出现。

例如,以下序列包含字符串“ abc”的四次出现

序列“ aabcc”

出现次数:

a a b c c

a a b c c

a a b c c

a a b c c

在不消耗字符的情况下如何进行匹配有帮助吗? 我正在尝试使用正则表达式和匹配项,但不确定是否可行。 我正在为此写PHP

演示

<?php

$sequence = "aabbcc";
$occurrences = array();

$sequences = str_split($sequence);
// dn($sequences);
$sequences_amount = array();

foreach ($sequences as $key => $char) {
    if(!isset($sequences_amount[$char])){
        $sequences_amount[$char] = 1;
    }else{
        $sequences_amount[$char]++;
    }

}

var_dump($sequences_amount);

function sequenceCount($data = array())
{
    if(!isset($data) || empty($data) || (count($data) == 0))return;

    $count = NULL;

    foreach ($data as $char => $amount) {
        if($count == NULL){
            $count = $amount;
        }else{
            $count = $count * $amount;
        }
    }

    return $count;
}

$count = sequenceCount($sequences_amount);
echo("\n\nResult:\n");

echo($count);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM