gpt4 book ai didi

php - preg_split 字符串在第一个非数字字符处拆分为数组

转载 作者:行者123 更新时间:2023-12-05 09:22:29 24 4
gpt4 key购买 nike

我有一个包含一些数字和文本的字符串,我试图在第一个非数字字符处拆分该字符串。

例如,我有几个字符串,比如

$value = '150px';
$value = '50em';
$value = '25%';

我一直在尝试使用 preg_split 和一些正则表达式拆分字符串。

$value_split = preg_split( '/[a-zA-Z]/' , $fd['yks-mc-form-padding'] );

我可以使用 $value_split[0] 获取字符串的第一部分,例如我可以存储 150、50 或 25。我需要返回字符串的第二部分字符串(px、em 或 %)。

如何使用 preg_split 或类似的东西拆分字符串以返回数组的两个部分?

谢谢!

最佳答案

如果你想使用正则表达式但你还没有,你应该试试 RegExr .

要用正则表达式做你想做的事,假设所有的字符串都是数字,后面跟着所有的非数字,你可以这样做:

$matches = array();
preg_match('/([0-9]+)([^0-9]+)/',$value,$matches);

然后 $matches[1] 将是数字部分,$matches[2] 将是其余部分

分解一下,
[0-9] 匹配任何数字字符,因此 [0-9]+ 匹配一行中的 1 个或多个数字字符,因此根据 the docs $matches[1] 会将(数字)文本与第一组括号匹配

[^0-9]匹配任何非数字字符,所以[^0-9]+匹配一行中的1个或多个非数字字符并填充 $matches[2] 因为它在第二组括号中

关于php - preg_split 字符串在第一个非数字字符处拆分为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25672365/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com