我有以下字符串:分割字符串转换成其预定的组件在PHP
!fun(10,20)
我试图把它分为以下组成部分:
!
,fun
,10
,20
!
始终是第一个字符。 fun
始终是!
后面的3个字符,10
将始终沿着一个开放式支架(
,20
将始终沿着第一个逗号,
之前的右括号。
我试过使用PHP的功能,但一直在撞墙撞我的头。我假设我可以使用正则表达式或类似方法来做到这一点。
我有以下字符串:分割字符串转换成其预定的组件在PHP
!fun(10,20)
我试图把它分为以下组成部分:
!
,fun
,10
,20
!
始终是第一个字符。 fun
始终是!
后面的3个字符,10
将始终沿着一个开放式支架(
,20
将始终沿着第一个逗号,
之前的右括号。
我试过使用PHP的功能,但一直在撞墙撞我的头。我假设我可以使用正则表达式或类似方法来做到这一点。
您可以使用preg_match
preg_match('/^!(\w{3})\((\d+),(\d+)\)$/', $string, $matches);
然后$matches
将包含:
matches: Array
(
[0] => !fun(10,20)
[1] => fun
[2] => 10
[3] => 20
)
我用正则表达式的专家,随时以评论它是否可以减少。
$string=!fun(10,20);
$arr=array('!','(',')',',');
$string=str_replace($arr,'_',$string);
$exp_string=explode('_',$string);
print_r($exp_string);
你可以找到更多的http://www.phpsyntax.blogspot.in
$pattern = '#\!([a-zA-Z]+)\(([0-9]+),([0-9]+)\)#s';
也许你需要regExp,你想分割什么字符串? – Zerstoren 2012-08-13 14:06:36
你是说字符串总是以字符“!fun(”和以“)”结尾?如果这些从不改变,那么它可能是最快的,只是使用strstr分割字符串并爆炸,否则你可以使用像/再问 – moopet 2012-08-13 14:07:25
这是一个笑话吗? – GeeH 2012-08-13 14:07:40