如何統計字符串上的所有特殊字符? 例如:使用substr_count計算正則表達式
$sample_string = "!!~~Sample string";
echo substr($sample_string, special character);
所以輸出將是4
如何統計字符串上的所有特殊字符? 例如:使用substr_count計算正則表達式
$sample_string = "!!~~Sample string";
echo substr($sample_string, special character);
所以輸出將是4
通過正則表達式
$sample_string = "!!~~Sample string";
preg_match_all("/\W/",$sample_string,$match);
echo count($match);
substr_count()
不使用正則表達式,所以你將不得不執行的每一個substr_count()
燒焦你想要刪除。
$str = preg_replace('/[^ a-z0-9]+/i', '', $sample_string);
$number_of_sprecial_chars = strlen($sample_string)-strlen($str);
刪除字符串中的所有特殊字符,然後給出原始版本和修改版本之間的區別。
如果僅僅發生在年初的特殊字符(或者你想只有那些被替換),
echo preg_replace('/^[^ a-z0-9]+/', '', $sample_string);
會給你的情況下直接在開始的特殊字符的字符串(不使用substr()
)。
$圖案= '/ [!@#$%^ & *()] /' //將任何符號出現一次匹配[]
int preg_match_all (string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]])
內執行鍼對全球正則表達式匹配一個字符串。在主題中搜索模式中給定的正則表達式的所有匹配項,並按照標誌指定的順序將它們放入匹配項中。
找到第一個匹配後,後續搜索將繼續從上次匹配結束。
您可以簡單地使用preg_replace_callback
功能隨着closure
等作爲
$sample_string = "!!~~Sample string";
$count = 0;
preg_replace_callback('/[^\h\w]/', function($m)use(&$count) {
$count++;
}, $sample_string);
echo $count;//4
是否有可能在特殊字符的字符串中隨機distributend?在開始時不是全部順序? – syck