PHP 将字符串拆分为整数、字符串和特殊字符
PHP split string into integer, string and special character
我需要将这种格式的字符串 CF12:10
拆分成如下数组,
[0] => CF, [1] => 12, [2] => 10
提供的字符串的数字和字符串可以是任意长度。我找到了 php preg_match
函数,但不知道如何为我的案例制作正则表达式。任何解决方案将不胜感激。
如果对您有帮助,请尝试以下代码
$str = 'C12:10';
$arr = preg_match('~^(.*?)(\d+):(.*)~m', $str, $matches);
array_shift($matches);
echo '<pre>';print_r($matches);
您可以使用此正则表达式来匹配各个部分:
^(\D+)(\d+):(.*)$
它匹配字符串的开头、一定数量的非数字字符 (\D+
)、后跟一定数量的数字 (\d+
)、冒号和 [ 之后的一定数量的字符=15=] 和行尾之前。在 PHP 中,您可以使用 preg_match
找到所有匹配的组:
$input = 'CF12:10';
preg_match('/^(\D+)(\d+):(.*)$/', $input, $matches);
array_shift($matches);
print_r($matches);
输出:
Array
(
[0] => CF
[1] => 12
[2] => 10
)
我需要将这种格式的字符串 CF12:10
拆分成如下数组,
[0] => CF, [1] => 12, [2] => 10
提供的字符串的数字和字符串可以是任意长度。我找到了 php preg_match
函数,但不知道如何为我的案例制作正则表达式。任何解决方案将不胜感激。
如果对您有帮助,请尝试以下代码
$str = 'C12:10';
$arr = preg_match('~^(.*?)(\d+):(.*)~m', $str, $matches);
array_shift($matches);
echo '<pre>';print_r($matches);
您可以使用此正则表达式来匹配各个部分:
^(\D+)(\d+):(.*)$
它匹配字符串的开头、一定数量的非数字字符 (\D+
)、后跟一定数量的数字 (\d+
)、冒号和 [ 之后的一定数量的字符=15=] 和行尾之前。在 PHP 中,您可以使用 preg_match
找到所有匹配的组:
$input = 'CF12:10';
preg_match('/^(\D+)(\d+):(.*)$/', $input, $matches);
array_shift($matches);
print_r($matches);
输出:
Array
(
[0] => CF
[1] => 12
[2] => 10
)