【发布时间】:2016-06-05 01:43:18
【问题描述】:
假设我有一个像2x + 2y 这样的字符串,我想拆分这些字符串。
我希望完成拆分,它在解析或对其进行更改后看起来像 2 * x + 2 * y。
我查看了preg_replace 的 PHP 手册,但似乎找不到适合我的东西,我想它可能会寻找 number + letter,然后在中间使用 * 替换它它,但我不知道如何实现这一点。
【问题讨论】:
-
使用phpliveregex.com 进行正则表达式测试
-
只是为了让您入门:
preg_replace("/([0-9]+)([A-Za-z])/", "$1 * $2", $str); -
使用正则表达式可能是一种解决方案,但我认为在这种情况下很难使用它,请阅读有关标记化输入的信息 - 您只需将文本解析为标记,例如。 “2x+2y”应该标记为:Number(2),Operator(multiply),Variable(x)Operator(sum)Number(2)Variable(y) 然后你可以做任何你想做的输出
标签: php string replace split preg-replace