2012-08-13 33 views
-1

我有以下字符串:分割字符串轉換成其預定的組件在PHP

!fun(10,20)

我試圖把它分爲以下組成部分:

!fun1020

!始終是第一個字符。 fun始終是!後面的3個字符,10將始終沿着一個開放式支架(20將始終沿着第一個逗號,之前的右括號。

我試過使用PHP的功能,但一直在撞牆撞我的頭。我假設我可以使用正則表達式或類似方法來做到這一點。

+0

也許你需要regExp,你想分割什麼字符串? – Zerstoren 2012-08-13 14:06:36

+4

你是說字符串總是以字符「!fun(」和以「)」結尾?如果這些從不改變,那麼它可能是最快的,只是使用strstr分割字符串並爆炸,否則你可以使用像/再問 – moopet 2012-08-13 14:07:25

+0

這是一個笑話嗎? – GeeH 2012-08-13 14:07:40

回答

6

您可以使用preg_match

preg_match('/^!(\w{3})\((\d+),(\d+)\)$/', $string, $matches); 

然後$matches將包含:

matches: Array 
(
    [0] => !fun(10,20) 
    [1] => fun 
    [2] => 10 
    [3] => 20 
) 

我用正則表達式的專家,隨時以評論它是否可以減少。

+0

完美,謝謝:) – GeeH 2012-08-13 14:13:32

+0

沒問題,歡呼! – 2012-08-13 14:13:56

+0

我建議'/ ^!(\ w {3})\((\ d +),(\ d +)\)$ /'限制爲三個字符作爲函數名稱。你也不需要[]。 – moopet 2012-08-13 14:15:31