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()上的字符串",然后选择返回数组中的第二个元素:

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

// tokens[1] will contain Telecommunications law
于 2012-05-04T09:28:42.130 回答
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");

获取第一个括号和第二个括号之间的内容的最有效方法是:

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 回答
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 回答