例如,我有一个字符串如下:
<http://www.w3.org/2000/01/rdf-schema#label> "Telecommunications law"@en <http://en.wikipedia.org/wiki/>
提取子字符串的最简单方法是什么:
Telecommunication law
请注意,子字符串包含一个空格。
您可以使用 Pattern 和 Matcher :
Pattern p = Pattern.compile("\".*\"");
Matcher m = p.matcher(s);
if(m.find()){
String resultString = m.group();
}
在您的情况下, resultString 将包含 ["Telecommunications law"] 如果您不想保留双引号,您可以修剪它们。
String.split()
上的字符串"
,然后选择返回数组中的第二个元素:
String tokens[] = yourString.split("\"");
// tokens[1] will contain Telecommunications law
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);
}
你是什么意思“提取字符串”?
获取字符串的第一次出现是通过:
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);
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]);
}
}
}