根据字符串或字母将字符串拆分为多个值



我希望我能解释一下我想要实现的目标:在PHP中,我从远程网站接收内容,我想处理这些数据。我现在有 +- 300 个这样的字符串:

$string=abcdefg123abcdefg    

我想将此字符串分为 3 部分:

  • 第一部分:第一个字母字符串 (ABCDEFG)
  • 第二部分:数字字符串 (123)
  • 第三部分:第二个字母字符串(ABCDEFG)

我尝试了一些爆炸功能,但我只能将字符串分成两部分。

您可以在一系列数字上使用preg_split(),也可以捕获分隔符:

$parts = preg_split('/(d+)/', 'abc123def', 2, PREG_SPLIT_DELIM_CAPTURE);
// $parts := ['abc', '123', 'def']
preg_match("/([a-zA-Z]*)([0-9]*)([a-zA-Z]*)/", $string, $output_array);
print_r($output_array)

这应该适合您:

(首先我得到字符串的数字来分解字符串!之后,我将数字附加到数组中)

<?php
    $string = "abcdefg123abcdefg";
    preg_match('!d+!', $string, $match);   
    $split = explode(implode("",$match), $string);
    $split[2] = $split[1];
    $split[1] = implode("",$match);
    print_r($split);
?>

输出:

Array
(
    [0] => abcdefg
    [1] => 123
    [2] => abcdefg
)

解决方案:

这将起作用:

$string = 'abcdefg123abcde';
preg_match_all('/([0-9]+|[a-zA-Z]+)/',$string,$matches);
print_r( $matches[0] );

输出:

Array ( [0] => abcdefg [1] => 123 [2] => abcde )

相关内容

  • 没有找到相关文章

最新更新