另一个问题0000b。PHP - 拆分字符串
$ab = "A00000001"
echo $a; // gives result "A"
echo $b; // gives result "1"
$ab = "B01250"
echo $a; // gives result "B"
echo $b; // gives result "1250"
上述两个示例中,将“ab”转换为“a”和“b”的easiet单向方式是什么?
谢谢!
另一个问题0000b。PHP - 拆分字符串
$ab = "A00000001"
echo $a; // gives result "A"
echo $b; // gives result "1"
$ab = "B01250"
echo $a; // gives result "B"
echo $b; // gives result "1250"
上述两个示例中,将“ab”转换为“a”和“b”的easiet单向方式是什么?
谢谢!
$ab = "A0000000001";
$a = substr($ab, 0, 1);
$b = (int)substr($ab, 1);
有关SUBSTR的更多信息可以在这里找到:http://us.php.net/substr
你可以做到这一点与正则表达式:
$match = preg_match('@^(\w+)(\d+)@', $input);
$letter = $match[1];
$number = $match[2];
为了满足您可以改变正则表达式以排除0之前的要求:“@ ^(\ w +)0 *(\ d +)@” – 2009-10-20 20:12:45
好吧,但是如果他使用$数字作为int,没关系。 – eWolf 2009-10-20 23:12:12
这是较短的,如果这是你的意思是什么“easiet单路“:
list($a,$b) = preg_split('/0+/',$ab);
调整你的正则表达式,如果你喜欢: http://us.php.net/manual/en/function.preg-split.php
如果0不是偏移量之后的第一个数字,该怎么办? – 2009-10-20 20:11:12
这不适用于第二个示例 $ ab =“B01250”。 – 2009-10-20 19:59:42
已更新为假定第二个“部分”始终为整数 – 2009-10-20 20:01:06
我正在用正则表达式第一次玩弄,但我知道有一种更优雅的方式。谢谢!并感谢其他人。 :) – 2009-10-20 20:03:19