我在Eclipse IDE中使用正則表達式。我試圖把用正則表達式改變字母大小寫
other.test
到other.getTest()
搜索:other.([a-z])([a-z]*)
替換:other.\U$1$2()
結果:other.Utest()
我認爲在小組前添加一個帶有\ U是應該改變案件,但它不適合我。有任何想法嗎?
我在Eclipse IDE中使用正則表達式。我試圖把用正則表達式改變字母大小寫
other.test
到other.getTest()
搜索:other.([a-z])([a-z]*)
替換:other.\U$1$2()
結果:other.Utest()
我認爲在小組前添加一個帶有\ U是應該改變案件,但它不適合我。有任何想法嗎?
不幸的是,Eclipse的查找/替換正則表達式不支持的情況下改變運營商如\U
,\u
,\L
和\l
。您既可以使用很長的變通方法通過jrahhali建議,或用記事本++:
搜索:other\.([a-z]+)
更換:other.get\u$1\(\)
Explantion:
other\.
- 一個字符串匹配other.
(注意點必須被轉義以匹配字面點)([a-z]+)
- 第1組捕獲1個或多個小寫ASCII字母(檢查區分大小寫選項只與[a-z]+
匹配小寫ASCII字母)更換圖案的詳細資料:
other.get
- 字面文本other.get
\u$1
- 組1的內容($1
是反向引用捕獲的組1)和它的第一個字符被接通到上殼體與\u
操作者(\U
都會使捕獲組的整個文本到大寫)\(\)
- 一個文字文本()
(括號應NPP轉義升壓條件替換模式)。演示畫面:
簡單的一個。據http://www.regexe.com/它工作正常:
search pattern - other\.t(est)
replace pattern - other\.getTest\(\)
祝你好運..
解決方案需要更通用,可應用於任何'other.xxxx'到'other.getXxxxx()' –
可能會工作 - 搜索模式 - 其他\。([a-zA-Z]) ([a-zA-Z] *) 替換模式 - other.get \ U $ 1 \ E $ 2 –
這工作。您需要兩次搜索和替換。從這個答案參考:Is it possible to transform to lowercase using Eclipse's regex search and replace?
search 1: other\.([a-z])([a-z]*)
replace 1: other.ABCDEFGHIJKLMNOPQRSTUVWXYZ$1$2
search 2: other\.(A)BCDEFGHIJKLMNOPQRSTUVWXYZa|A(B)CDEFGHIJKLMNOPQRSTUVWXYZb|AB(C)DEFGHIJKLMNOPQRSTUVWXYZc|ABC(D)EFGHIJKLMNOPQRSTUVWXYZd|ABCD(E)FGHIJKLMNOPQRSTUVWXYZe|ABCDE(F)GHIJKLMNOPQRSTUVWXYZf|ABCDEF(G)HIJKLMNOPQRSTUVWXYZg|ABCDEFG(H)IJKLMNOPQRSTUVWXYZh|ABCDEFGH(I)JKLMNOPQRSTUVWXYZi|ABCDEFGHI(J)KLMNOPQRSTUVWXYZj|ABCDEFGHIJ(K)LMNOPQRSTUVWXYZk|ABCDEFGHIJK(L)MNOPQRSTUVWXYZl|ABCDEFGHIJKL(M)NOPQRSTUVWXYZm|ABCDEFGHIJKLM(N)OPQRSTUVWXYZn|ABCDEFGHIJKLMN(O)PQRSTUVWXYZo|ABCDEFGHIJKLMNO(P)QRSTUVWXYZp|ABCDEFGHIJKLMNOP(Q)RSTUVWXYZq|ABCDEFGHIJKLMNOPQ(R)STUVWXYZr|ABCDEFGHIJKLMNOPQR(S)TUVWXYZs|ABCDEFGHIJKLMNOPQRS(T)UVWXYZt|ABCDEFGHIJKLMNOPQRST(U)VWXYZu|ABCDEFGHIJKLMNOPQRSTU(V)WXYZv|ABCDEFGHIJKLMNOPQRSTUV(W)XYZw|ABCDEFGHIJKLMNOPQRSTUVW(X)YZx|ABCDEFGHIJKLMNOPQRSTUVWX(Y)Zy|ABCDEFGHIJKLMNOPQRSTUVWXY(Z)z([a-z]*)
replace 2: other.get$1$2$3$4$5$6$7$8$9$10$11$12$13$14$15$16$17$18$19$20$21$22$23$24$25$26$27
您應該使用重構了,它會自動更新所有引用。 (雙擊測試,所以它被選中,右鍵點擊它,重構=>重命名...輸入otherTest) – maraca
你需要逃避。 (dot) – maraca
不要以爲這會滿足我的需求。我需要一次執行多個領域,而且這些更改只會侷限於特定的方法。基本上試圖將'equals()'代的輸出改爲getters而不是直接字段訪問。 Eclipse不提供任何方式來覆蓋它。 –