самый простой, самый короткий способ подсчитать заглавные буквы в строке с php?

Не источник вашей проблемы, но вам нужно

using (MemoryStream memoryStream = new MemoryStream())
{
    serializer.Serialize(memoryStream, this);
    memoryStream.Seek(0, SeekOrigin.Begin);
    using (StreamReader reader = new StreamReader(memoryStream))
    {
        return reader.ReadToEnd();
    }
}
13
задан Chris Lutz 13 October 2009 в 02:52
поделиться

2 ответа

function count_capitals($s) {
  return strlen(preg_replace('![^A-Z]+!', '', $s));
}
42
ответ дан 1 December 2019 в 06:21
поделиться

Это не самый короткий, но, возможно, самый простой, поскольку регулярное выражение не обязательно должно выполняться. Обычно я бы сказал, что это должно быть быстрее, поскольку логика и проверки просты, но PHP всегда удивляет меня тем, насколько быстры и медленны некоторые вещи по сравнению с другими.

function capital_letters($s) {
    $u = 0;
    $d = 0;
    $n = strlen($s);

    for ($x=0; $x<$n; $x++) {
        $d = ord($s[$x]);
        if ($d > 64 && $d < 91) {
            $u++;
        }
    }

    return $u;
}

echo 'caps: ' .  capital_letters('HelLo2') . "\n";
0
ответ дан 1 December 2019 в 06:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: