- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含一些数字和文本的字符串,我试图在第一个非数字字符处拆分该字符串。
例如,我有几个字符串,比如
$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/
为了与 php 5.3 兼容,从 split 更改为 preg_split 后,我从 php 收到此警告: PHP Warning: preg_split(): Delimiter must n
我有一个充满字符串的数组,其中可能包含一个或多个下划线、破折号和句点。我想将 分成由下划线、破折号和句点分隔的字符。到目前为止,我已经成功使用下划线和破折号,但没有成功。 这有效: $family02
我有一个包含一些数字和文本的字符串,我试图在第一个非数字字符处拆分该字符串。 例如,我有几个字符串,比如 $value = '150px'; $value = '50em'; $value = '25
我在弄清楚这一点时遇到了一些麻烦。 我有这样的数据行: $data = "Alpha Natural Resources Inc COM 02076X102 2,077 45,700 x 我希望在有多
我正在尝试拆分格式如下的字符串: Value1==Value1||Value2==Value2||..." 在 == 和 || 处但我在使用管道时遇到了问题。我可以很容易地在 == 处拆分它们,但是当
我正在尝试使用 preg_split 拆分字符串。这是字符串的示例:111235622411我希望输出是这样的: $arr[0] = "111"; $arr[1] = "2"; $arr[2] = "
使用以下代码, php explode at capital letters? 您可以将字符串分解为大写。但是如何仅在第一个大写字母上分解它呢?假设您有 helloThereMister。我想要你好T
我正在使用 PHP 制作一个脚本语言解释器。我有该脚本语言的代码: write {Hello, World!} in either the color {blue} or {red} or {#00A
使用以下代码, php explode at capital letters? 您可以按大写分解字符串。但是你如何只在第一个大写字母上分解它呢?假设您有 helloThereMister。我想得到 h
我正在使用 PHP 制作一个脚本语言解释器。我有该脚本语言的代码: write {Hello, World!} in either the color {blue} or {red} or {#00A
请引用下面的代码。 $dArr = 'document.write(volunteerDist);'; $dArr 获取 volunteerDist 的值。 echo $dArr 打印值 4.1,9.
"; } ?> 输出错误 用新行将其分解,但不显示正确的 strlen 。 输出 1 2 2 2 实际输出应该是 1 1 1 1 我哪里错了??? 最佳答案 '/[;:,\r\n]+/' 确保它是\n
大家好,我的代码在下面。我使用 preg_split 将字符串显示为数组,并使用逗号作为分隔符。 ', print_r(preg_split($pattern,$string),1), ''; ?>
我从 Betfair 复制并粘贴足球比赛,例如“Bournemouth v Tottenham”,这存储在 MySQL 数据库中。但是,当我尝试时: preg_split('/\s+/', $row
我需要一些帮助。我想要的是忽略特定字符串中的逗号。这是一个逗号分隔的文件 csv,但名称有一个逗号,我需要忽略它。 我得到的是 结果是 $result (php code): 'hypertext
寻求帮助! 我需要在最后一次出现空格时拆分字符串... 例如“Great Neck NY” 我需要将它分开,这样我就有了“Great Neck”和“NY” 我在使用 preg_split 和基本内容时
我正在尝试让 preg_split() 按空格/制表符拆分以下 2 个字符串(需要对两者都起作用)。 autodiscover.microsoft.com. 3600 IN A 131.107.1
我想在每次找到特殊字符时拆分一个字符串。 我这样做了: preg_split("[\\W]", $str); 但这仍然允许下划线(也许更多?) 是否可以只说允许 a-z A-Z 和数字并拆分任何不是其
我正在尝试用空格而不是单引号之间的 pref_split 字符串。 这是我正在使用的字符串: 'physical memory %'=92%;99;100 'physical memory'=29.6
我有数千个文本文件要解析,它是一个遵循特定模式的产品目录。 它有两个序列号,其中一个我将整个文本拆分成一个数组,每个键一个产品。 问题是我在 preg_split 中使用的序列号从产品中删除了,而我需
我是一名优秀的程序员,十分优秀!