在一些別人寫的,人們已經使用null
檢查條件爲null!=abc
或null==abc
這個Java代碼,但我需要分別將其更改爲abc!=null
和abc==null
。搜索在Java代碼中一些字符串和替換它
有人告訴我,這可以很容易地使用正則表達式來完成,因爲直到現在我正在執行手動任務,但是搜索它然後手動替換它。
在一些別人寫的,人們已經使用null
檢查條件爲null!=abc
或null==abc
這個Java代碼,但我需要分別將其更改爲abc!=null
和abc==null
。搜索在Java代碼中一些字符串和替換它
有人告訴我,這可以很容易地使用正則表達式來完成,因爲直到現在我正在執行手動任務,但是搜索它然後手動替換它。
我不知道所有這可能是在布爾表達式的右側的要求,但假設它是一個變量名,\w
將是一個大致精確的搜索(見http://download.oracle.com/javase/tutorial/java/nutsandbolts/variables.html變量的完整規範名)。
搜尋字符串:
null\s*([!=]=)\s*(\w+)
替換字符串
$1 $2 null
它不能使用正則表達式正確。
考慮
/*
Print whether null==abc.
*/
System.out.print("null==abc : " + (null==abc));
如果你想只改變代碼,第三null==abc
以上,那麼你可以通過使用天真正則表達式得到的字符串和評論內容意外更改替換更改代碼。
而且你要小心不要改變
null==abc.def
到
abc==null.def
或改變
null==abc(def)
到
abc==null(def)
如果您對潛在的字符串和註釋更改感到滿意,並且要檢查更改以確保您沒有打破任何方法調用,那麼您可以在perl中始終執行此操作。
perl -i.bak -pe 's/null(\s*[!=]=\s*)([\w.]+)/$2$1null/g' YourJavaFile.java
出於好奇:你爲什麼要改變它? – Howard
@haward:其中一位經理告訴我..即使我不知道爲什麼..只是我需要改變.. –
你在做什麼編輯/環境/ ide - 這與你如何做正則表達式 – antlersoft