2011-06-20 51 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