2014-09-19 96 views
2

我无法知道-字符在我的字符串的前面有多少次。字符串开头的字符“(”)(字母前)

一些例子:

$string = "-Lorem Ipsum"; // 1 
$string = "--Lorem Ipsum"; // 2 
$string = "---Lorem Ipsum"; // 3 
$string = "--Lorem-Ipsum"; // 2 

但我怎么能找到呢?我知道你可以搜索一个字符串中出现的字符数。但是我想要在字母表之前的字符数为-。不是所有的序列(见最后一个例子)。

我该如何解决这个问题?

回答

3

您可以使用此处使用字符串作为数组作为这样的老学校招:

$search="-"; 
$i=0; 
while($string[$i]==$search) 
{ 
    $i++; 
} 
echo "Found $i instances at the start of the string."; 
1

有关使用ltrim()strlen()

echo strlen($string) - strlen(ltrim($string, "-")); 

什么见example at eval.in

0

它会也工作 -

preg_match('/(?!-)/', $string, $match, PREG_OFFSET_CAPTURE); 

$match - 任何字符的位置,但是-这的确是-的计数。

相关问题