为了账号安全,请及时绑定邮箱和手机立即绑定

PHP pre_split 丢失第一个字符

PHP pre_split 丢失第一个字符

PHP
临摹微笑 2024-01-19 20:55:06
我有以下字符串,并且想要将名称与发票 ID 分开。该名称可以有一个空格,也可能有一个连字符。$invoice_id ="梅-安·简-28188-1600086909";    $invoice_id ="May-Ann Jane-28188-1600086909";        $exploded = preg_split('/[-]+[0-9]/', $invoice_id,3 ); foreach($exploded as $index => $answer){   if (!empty($answer)){     echo $index.": ".$answer."<br />";   }   } $prefix = $exploded[0]; $invoiceid = $exploded[1]; $transid = $exploded[2]; echo '<BR>list2:<BR />';  echo "prefix :".$prefix."<br />"; echo "invoiceid :".$invoiceid."<br />"; 在输出中,任何数字的第一个字符都会丢失:0: May-Ann Jane1: 81882: 600086909list2:prefix :May-Ann Janeinvoiceid :8188transid :600086909我如何找回第一个角色?
查看完整描述

1 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

您可以使用正向前瞻(?=来分割右侧的数字,而不是匹配它。这样你就可以保留数字。

-(?=[0-9])

正则表达式演示PHP演示

$invoice_id ="May-Ann Jane-28188-1600086909";

$exploded = preg_split('/-(?=[0-9])/', $invoice_id, 3);

print_r($exploded);

输出


Array

(

    [0] => May-Ann Jane

    [1] => 28188

    [2] => 1600086909

)


查看完整回答
反对 回复 2024-01-19
  • 1 回答
  • 0 关注
  • 92 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信