【问题标题】:How many times "-" at beginning of string (before alphabet letter)字符串开头出现多少次“-”(字母前)
【发布时间】:2014-09-19 12:02:13
【问题描述】:
我不知道- 字符在我的字符串前面出现了多少次。
一些例子:
$string = "-Lorem Ipsum"; // 1
$string = "--Lorem Ipsum"; // 2
$string = "---Lorem Ipsum"; // 3
$string = "--Lorem-Ipsum"; // 2
但是我怎么才能找到这个呢?我知道您可以搜索字符串中某个字符的出现次数。但我想要字母前的- 字符数。不是所有的序列(见最后一个例子)。
我应该如何处理这个问题?
【问题讨论】:
标签:
php
string
count
substr
find-occurrences
【解决方案1】:
您可以在这里使用老式的将字符串用作数组的技巧:
$search="-";
$i=0;
while($string[$i]==$search)
{
$i++;
}
echo "Found $i instances at the start of the string.";
【解决方案2】:
如何使用ltrim() 和strlen()
echo strlen($string) - strlen(ltrim($string, "-"));
见example at eval.in
【解决方案3】:
它也可以工作 -
preg_match('/(?!-)/', $string, $match, PREG_OFFSET_CAPTURE);
$match - 除了- 之外的任何字符的位置,这确实是- 的计数。