Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中拆分字符串并重新组合,不使用最后一个元素(分解)_Php_Arrays_Regex_String_Text - Fatal编程技术网

在php中拆分字符串并重新组合,不使用最后一个元素(分解)

在php中拆分字符串并重新组合,不使用最后一个元素(分解),php,arrays,regex,string,text,Php,Arrays,Regex,String,Text,我想从本文中删除该部分访问所有区域\u 1。现在文本是这样的,我想让它像访问所有区域。我使用PHP分解for循环。那没用。而且字数也不是静态的。不一定像上面的例子那样是3 ABC\u3中的位置ABC中的位置 ACCES\u ALL\u area\u 1->ACCES\u ALL\u area 我可能会这样做: $string = preg_replace('/_\d+$/', '', $string); 替换字符串的\和$末尾的数字 为了好玩,你也可以这样做: $string = rtr

我想从本文中删除该部分<代码>访问所有区域\u 1。现在文本是这样的,我想让它像
访问所有区域
。我使用PHP分解for循环。那没用。而且字数也不是静态的。不一定像上面的例子那样是3

  • ABC\u3中的位置
    ABC中的位置
  • ACCES\u ALL\u area\u 1
    ->
    ACCES\u ALL\u area

    • 我可能会这样做:

      $string = preg_replace('/_\d+$/', '', $string);
      
      • 替换字符串的
        \
        $
        末尾的数字
      为了好玩,你也可以这样做:

      $string = rtrim($string, '_1234567890');
      
      或具有以下范围:

      $string = rtrim($string, '_0..9');
      
      另一种方式:

      $parts  = explode('_', $string);
      array_pop($parts);
      $string = implode('_', $parts);
      
      • 上分解为数组
      • 从数组中弹出最后一个元素
      • 上的数组重新内爆为字符串

        • 我可能会这样做:

          $string = preg_replace('/_\d+$/', '', $string);
          
          • 替换字符串的
            \
            $
            末尾的数字
          为了好玩,你也可以这样做:

          $string = rtrim($string, '_1234567890');
          
          或具有以下范围:

          $string = rtrim($string, '_0..9');
          
          另一种方式:

          $parts  = explode('_', $string);
          array_pop($parts);
          $string = implode('_', $parts);
          
          • 上分解为数组
          • 从数组中弹出最后一个元素
          • 上的数组重新内爆为字符串
          试试这个:

          $mystring = "A_PLACE_IN_THE_ABC_3";
          $pos = strrpos($mystring, "_");
          $result = substr($mystring,0, $pos);   //  A_PLACE_IN_THE_ABC
          
          试试这个:

          $mystring = "A_PLACE_IN_THE_ABC_3";
          $pos = strrpos($mystring, "_");
          $result = substr($mystring,0, $pos);   //  A_PLACE_IN_THE_ABC
          

          让我们看看如果您有一些非,它将删除最后一个数组,不管它是什么,尝试一下:

          <?php
          $string = "A_PLACE_IN_THE_ABC_3";
          $ex = explode('_', $string); // break array
          $c = count($ex); // total array
          $rm = $c - 1; // 1 place to 0
          unset ($ex[$rm]); // Remove unwanted array
          $new = join('_', $ex); // regenerate string
          echo "New String: ". $new;
          

          让我们看看如果您有一些非,它将删除最后一个数组,不管它是什么,尝试一下:

          <?php
          $string = "A_PLACE_IN_THE_ABC_3";
          $ex = explode('_', $string); // break array
          $c = count($ex); // total array
          $rm = $c - 1; // 1 place to 0
          unset ($ex[$rm]); // Remove unwanted array
          $new = join('_', $ex); // regenerate string
          echo "New String: ". $new;
          

          最后一个下划线后面是否总是有数字?@ObjectManipular,是的,当然..最后一个下划线后面总是有数字吗?@ObjectManipular,是的,当然..最后一个下划线后面总是有数字,只是为了用表达式显示。只是为了用表达式显示。