パターンマッチングなどを使用して"("
および")"
から文字列を抽出する方法。たとえば、テキストが `
「こんにちは(Java)」
次に、"Java"
のみを取得する方法。
ありがとう。
これを試して:
String x= "Hello (Java)";
Matcher m = Pattern.compile("\\((.*?)\\)").matcher(x);
while(m.find()) {
System.out.println(m.group(1));
}
または
String str = "Hello (Java)";
String answer = str.substring(str.indexOf("(")+1,str.indexOf(")"));
私はこれが3年前に尋ねられたことを知っていますが、ここに上陸する同じ/同様の質問を持つ人には、正規表現を使用するよりも簡単なものがあります:
String result = StringUtils.substringBetween(str, "(", ")");
あなたの例では、result
は「Java」として返されます。さまざまな種類の(比較的単純な)文字列操作には、StringUtilsライブラリをお勧めします。 null入力などを自動的に処理するため、便利です。
SubstringBetween()のドキュメント: https://commons.Apache.org/proper/commons-lang/apidocs/org/Apache/commons/lang3/StringUtils.html#substringBetween-Java.lang.String-Java。 lang.String-Java.lang.String-
この関数には、開始と終了の区切り文字が同じかどうか、および区切り文字がターゲット文字列に複数回出現するかどうかに応じて、他に2つのバージョンがあります。