2016-07-26 41 views
-1
public class NewtonsLaw 
    { 
     public static Integer force(Integer m,Integer n,Integer h) 
     { 
      Integer p = m*2+n+h; 
      return p; 
     } 
     public static int force3(Integer m) 
     { 
      Integer q= 23; 
      return m; 
     } 
} 

所以我想整個類的身體(大括號之間)的內容..請幫助。嗨,使用java的正則表達式我怎樣才能得到兩個大括號之間的類體

+0

作爲輸出我想: 公共靜態整數力(整數米,整數n,整數1H){整數p = M * 2 + N + H;返回p; } public static int force3(Integer m){Integer q = 23;返回m; } – Saikat

+0

我沒有得到你的問題 –

+0

使用java的正則表達式我怎麼能拿出一個類的全部內容,就像我上面寫的類NewtonsLaw,我想要使用java正則表達式的輸出:public static Integer force(Integer m,整數n,整數h) 整數p = m * 2 + n + h; return p; } public static int force3(Integer m) { Integer q = 23; return m; } – Saikat

回答

0

您可以使用索引;

String s = "public class NewtonsLaw{public static Integer force(Integer m,Integer n,Integer h) { Integer p = m*2+n+h; return p; } public static int force3(Integer m) { Integer q= 23;   return m;  }  }"; 

System.out.println(s.substring(s.indexOf("{") + 1,s.lastIndexOf("}") - 1)); 

編輯:與正則表達式;

Pattern pattern = Pattern.compile("\\{(.*?)\\}$"); 
Matcher matcher = pattern.matcher(s); 
if (matcher.find()) 
{ 
    System.out.println(matcher.group(1)); 
} 
+0

感謝哥們。其實我正在尋找java正則表達式。如果我們可以使用正則表達式,它將對我們非常有幫助。再次感謝 – Saikat

+0

@Saikat我編輯了我的答案。 – hellzone

+0

如果整個字符串是單行的,它就可以工作。但如果我是像一個多行字符串沒有工作:一個String = 「@isTest \ n」 + 「私有類TestNewtonsLaw {\ n」 個 \t \t \t + 「/ ** \ n」 個 \t \t \t + 「*爲NewtonsLaw#力()2. \ n個測試方法」 \t \t \t + 「*/\ n」 個 \t \t \t + 「私有靜態TestMethod的空隙testForce2(){\ n」 個 \t \t +「測試。 startTest(); \ n「 \t \t +」NewtonsLaw obj = new NewtonsLaw(); \ n「 \t \t + 「obj.force2(空); \ n」 個 \t \t + 「System.assert(NULL,NULL); \ n」 個 \t \t + 「Test.stopTest(); \ n」 個 \t \t + 「} \ n」 \t +「}」; – Saikat

相關問題