我应该如何计算PHP中字符串开头的字符出现次数

时间:2009-01-14 01:28:32

标签: php string count character

我能想到的最好的是:

strlen(preg_replace('/^([\\*]*)\s(.+)/',"$1",$line));
^^这似乎给出了字符串的长度。^^

编辑:我认为我应该澄清我试图找到的角色是'*'

2 个答案:

答案 0 :(得分:3)

preg_match允许输出参数填充匹配,因此您可以简单地将匹配的strlen用于模式/ ^ ** /:

$matches = array();
preg_match("/^\**/", $string, $matches);
$result =  strlen($matches[0]) ;

...

"***Hello world!*" -> 3
"Hello world!" -> 0

答案 1 :(得分:2)

这有点不可思议,但它可能有效 - 它计算第一个角色重复的次数:

strlen($line) - strlen(ltrim($line, $line[0]));

如果您只是想从头开始删除所有星星,那么这会更容易

strlen($line) - strlen(ltrim($line, '*'));