2011-06-20 24 views
0

我具有特定关键字之后,改变字符在与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")='' 

再次任何帮助/指针将不胜感激。

谢谢

安迪

+0

因此,如果*行以“SUM”开头,那么'X => Y = Z'应该用'X:Field(“Y”)= Z' *代替?顺便说一句:哪种语言? – jensgram

+0

@jensgram是的,这是主意。我使用的语言是xBase ++,但是我将使用PHP对xbase ++代码应用正则表达式更改。 – Andy

+0

是'D> E =''' - >'D:字段(“E”)是一个错字吗?或者是'G-> H =''' - >'G:Field(“H”)='''? – jensgram

回答

0

替换本身可以实现如下:

<?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); 

Example

这不,但是,检查字符串从SUM开始。您可以合并一个简单的substr()检查:if (substr($str, 0, 4) === 'SUM ') { ... },请参阅working demo

+0

谢谢你的演示和substr()的想法。 – Andy