【问题标题】:Explode string at any integer and delete the integer在任意整数处分解字符串并删除该整数
【发布时间】:2016-10-18 17:06:14
【问题描述】:

例子:

$string = "Apple0Bannana0Bannana1Cherry0";

我需要的字符串:

Array(
[0] => Apple
[1] => Banana
[2] => Banana
[3] => Cherry
)

可能使用 preg_replace 和/或爆炸的东西,但我不太确定。

问题是,0 到 49 之间可能有任何 int,所以我不知道如何让它动态爆炸。

【问题讨论】:

  • 我认为爆炸是指“分裂”。如果您搜索 php split 函数,这可能会有所帮助。
  • 不幸的是,从 PHP 7 开始,split 已被删除,但我也确实对此进行了一些研究。

标签: php arrays string preg-replace explode


【解决方案1】:
var_dump( preg_split('~\d+~', preg_replace('~^\d+|\d+$~', '', $string)) );

先删除字符串开头和结尾的数字,然后用一位或多位数字分割。

感谢@Rizier123 的改进提示:

var_dump( preg_split('~\d+~', $string, null, PREG_SPLIT_NO_EMPTY) ); 

【讨论】:

  • 看看preg_split()的第四个参数
  • 谢谢@Rizier123!添加了您的提示。
  • 这非常有效!太感谢了!卡西莫多和里齐尔!
猜你喜欢
  • 2010-12-07
  • 2021-01-18
  • 1970-01-01
  • 1970-01-01
  • 2016-04-03
  • 1970-01-01
  • 2021-02-01
  • 2015-11-01
  • 1970-01-01
相关资源
最近更新 更多