2011-08-03 18 views
1

文字列に#が含まれているかどうかをチェックしたいですか? それに#が含まれている場合は、#の後に内容を探したいと思います。例えばJavaの文字列に特殊文字があるかどうかを調べるには

  • test#1 - これは私を1返す必要があります。
  • test*1 - これは何も返されません。
  • test#123Test - これは123Testを返します。

私にお知らせください。あらかじめThanx。私は、単純な文字列操作ではなく、正規表現で使用したい

+0

"何も返さないでください"という意味を明確にしてください - これをメソッドにカプセル化する場合、* something *を返す必要があります - 空の文字列が必要ですか? 、またはnullなどです。それとも、例外をスローしたいのですか?あなたは 'regex'というタグを持っていますが、正規表現を使用する理由は何ですか? –

答えて

2
// Compile a regular expression: A hash followed by any number of characters 
Pattern p = Pattern.compile("#(.*)"); 

// Match input data 
Matcher m = p.matcher("test#1"); 

// Check if there is a match 
if (m.find()) { 

    // Get the first matching group (in parentheses) 
    System.out.println(m.group(1)); 
} 
4

int index = text.indexOf('#'); 
return index == -1 ? "" : text.substring(index + 1); 

を(私は「何も返してはならない」と仮定していますここでは「空の文字列を返す」という意味 - あなたはそれを変更することができますあなたが望むならnullを返すこと)。

関連する問題