2016-07-26 5 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の正規表現を使用するので、私は(中括弧の間)全クラス本体のコンテンツをしたい... PLSのに役立ちます。こんにちは、私は2つの中括弧

+0

: パブリック静的整数力(整数m、nは整数、整数H){整数P = M×2 + N + H。 pを返す。パブリックstatic int force3(整数m){整数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(整数m) { 整数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)); 

EDIT:正規表現あり。欲しい出力として

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

文字列全体が1行であれば動作します。 "\ nはプライベートクラスTestNewtonsLaw {" \t \t \t + "/ ** \ n" は \t \t \t +のString = "@isTest \ n" は +:私はそれは複数行の文字列のようであれば、それはうまくいきませんでした"* NewtonsLaw位力()2。\ nの試験方法" \t \t \t + "*/\ n" \t \t \t + "プライベート静的のtestMethodボイドtestForce2(){\ n" は \t \t + "テスト。 \ n " \t \t" NewtonsLaw obj = new NewtonsLaw(); \ n " \t \t + "obj.force2(NULL); \ n" \t \t + "System.assert(NULL、NULL); \ n" \t \t + "Test.stopTest(); \ n" は \t \t + "} \ n" \t + "}"; – Saikat