2014-09-19 26 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 - 任何字符的位置,但是-這的確是-的計數。

相關問題