在以SUM开头的行中转换特定关键字后的匹配字符



我在以SUM 开头的行中更改某个关键字(在本例中为FOR)后的字符时遇到了一些困难

示例:

SUM A+b+c TO var FOR D->E='' AND G->H=''

预期结果:

SUM A+b+c To var FOR D:Field("E")='' AND G:Field("H")=''

再次感谢任何帮助/建议。

谢谢你,

Andy

替换本身可以通过以下方式实现:

<?php
$str = "SUM A+b+c TO var FOR D->E='' AND G->H=''";
print preg_replace('/([A-Z]+)->([A-Z]+)=([^s]+)/', '\1:Field("\2")=\3', $str);

(示例)

但是,这不会检查字符串是否以SUM开头。您可以合并一个简单的substr()检查:if (substr($str, 0, 4) === 'SUM ') { ... },请参阅工作演示。

最新更新