2

たとえば、次のような文字列があります。

<http://www.w3.org/2000/01/rdf-schema#label> "Telecommunications law"@en <http://en.wikipedia.org/wiki/> 

部分文字列を抽出する最も簡単な方法は何ですか:

Telecommunication law

部分文字列にはスペースが含まれていることに注意してください。

4

5 に答える 5

3

Pattern と Matcher を使用できます:

Pattern p = Pattern.compile("\".*\"");
Matcher m = p.matcher(s);

if(m.find()){
   String resultString = m.group();
}

あなたの場合、resultString には ["Telecommunications law"] が含まれ、保持したくない場合は二重引用符を削除できます。

于 2012-05-04T09:41:46.040 に答える
1

String.split()の文字列"、および返された配列の2番目の要素を選択します。

String tokens[] = yourString.split("\"");

// tokens[1] will contain Telecommunications law
于 2012-05-04T09:28:42.130 に答える
0
public static void main(String args[]){
String yourString = "<http://www.w3.org/2000/01/rdf-schema#label> \"Telecommunications law\"@en <http://en.wikipedia.org/wiki/>";
        String tokens[] = yourString.split("\"");

        for(int i = 0; i < tokens.length; i++){
            if(tokens[i].equals("Telecommunications law")){
                System.out.println(tokens[i]);
            }
        }
    }
于 2013-04-22T06:41:33.650 に答える
0
    public static void main(String[] args) {
 String str = "http://www.w3.org/2000/01/rdf-schema#label \"Telecommunications law\"@en http://en.wikipedia.org/wiki/" ;

 String temp = str.substring(str.indexOf('\"')+1, str.indexOf('\"',str.indexOf('\"')+1));
 System.out.print(temp);

    }
于 2012-05-04T09:40:50.817 に答える
0

「文字列を抽出する」とはどういう意味ですか?

文字列の最初の出現を取得するには、次のようにします。

int index = string.indexOf("Telecommunications law");

最初の括弧と 2 番目の括弧の間にあるものを取得する最も効率的な方法は、次のとおりです。

final String test="http://www.w3.org/2000/01/rdf-schema#label \"Telecommunications law\"@en http://en.wikipedia.org/wiki/";
final int firstIndex=test.indexOf('\"');
final int lastIndex=test.indexOf('\"',firstIndex+1);
final String result=test.substring(firstIndex+1,lastIndex);
System.out.println(result);
于 2012-05-04T09:36:33.700 に答える