【问题标题】:how to split sting that contains string characters and integer?如何拆分包含字符串字符和整数的字符串?
【发布时间】:2014-04-04 09:00:10
【问题描述】:

你好,以这个为例

  abcd.exe  1234  xyrs  6  987654
  fghij.exe 1235  xyqs  5  897645

是提供给变量的数据,现在我想将“abcd.exe”放入单独的变量中,将“987654”放入另一个变量中,或者可能是两个数组

【问题讨论】:

  • $exploded_string=explode("",$string);

标签: php arrays string function


【解决方案1】:

无正则表达式的解决方案。

<?php
$str='abcd.exe  1234  xyrs  6  987654
fghij.exe 1235  xyqs  5  897645';

foreach(explode(PHP_EOL,$str) as$k=>$v)
{
    $v = explode(' ',$v);
    $arr[]=$v[0];
    $arr[]=$v[count($v)-1];
}

print_r($arr);

您可以访问那些变量,例如打印 abcd.exeecho $arr[0]; .. 对您的其他变量也是如此。

OUTPUT :

Array
(
    [0] => abcd.exe
    [1] => 987654
    [2] => fghij.exe
    [3] => 897645
)

如果你想要它们在一个集合中...使用array_chunk

$arr = array_chunk($arr,2);

OUTPUT :

Array
(
    [0] => Array
        (
            [0] => abcd.exe
            [1] => 987654
        )

    [1] => Array
        (
            [0] => fghij.exe
            [1] => 897645
        )

)

【讨论】:

    【解决方案2】:

    试试这个 - 你可以使用 php explode

    <?php
    
    $str='abcd.exe 1234 xyrs 6 987654 fghij.exe 1235 xyqs 5 897645';
    
    $arr=explode(' ', $str);
    $one=$arr[0];
    $two=$arr[4];
    
    ?>
    

    【讨论】:

      【解决方案3】:

      使用explode方法来做到这一点

      $vararr=explode(" ","abcd.exe 1234 xyrs 6 987654 fghij.exe 1235 xyqs 5 897645");
      

      $exe=$vararr[0]; $numb=$vararr[4];

      【讨论】:

        【解决方案4】:

        我认为您可以使用内置的拆分功能按空格拆分字符串(我假设在此处将空格用作分隔符,通过查看您发布的字符串)并创建字符串数组。

        然后您可以遍历数组中的每个元素并检查该元素是数字还是字符串,然后您可以将它们放入适当的存储桶或数组中。

        我希望这会有所帮助。

        感谢和问候,

        切坦兰帕里亚

        【讨论】:

          【解决方案5】:

          使用explode() 方法将字符串拆分为数组。之后检查数组的每个元素是否为数字。根据它的类型,创建两个数组。一个将包含数值,另一个将包含字符串值。代码如下:

          $string = "abcd.exe 1234 xyrs 6 987654 fghij.exe 1235 xyqs 5 897645";
          $string_array = explode(" ",$string );
          
          $int_arr = array();
          $str_arr = array();
          
          foreach($string_array as $val) {
              if (is_numeric($val)) {
                  $int_arr[] = $val;
              }
              else {
                  $str_arr[] = $val;
              }
          }
          
          print_r($int_arr);
          print '<br/>';
          print_r($str_arr);
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-04-05
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多