我有这个代码,工作正常,它给了我一个网站的源代码:
package Quellenpackage;
import java.net.URL;
import java.io.*;
public class Quellcode {
/**
* @param args
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
final String meineURL = "http://www.onvista.de/aktien/technische-kennzahlen/Aareal-Bank-Aktie-DE0005408116";
URL url = new URL(meineURL);
InputStreamReader isr = new InputStreamReader(url.openConnection().getInputStream());
BufferedReader br = new BufferedReader(isr);
// read complete content
String line ="";
String code ="";
while((line = br.readLine()) != null)
{
code += line + "\r\n";
}
// open Reader
br.close();
isr.close();
// give out page content
System.out.println(code);
}
目前,这显示了页面的整个代码,但我只想要某个部分。
此部分应恰好位于此确切符号"Start:"
和"ende"
之间。所以我需要一些能够搜索代码的东西......"开始:"
..部分,然后给出一切,直到" ende"
如果可能的话,我完全没有任何线索,更不用说知道如何去做了。我真的希望你们能帮助我。
答案 0 :(得分:0)
您可以使用String.split()
方法查看doku here。在任何时候,在字符串的某处找到给定的参数,它会将String
分成不同的字符串。
String[] parts = code.split("Start:"); //makes to parts before Start: and after Start:
parts = parts[1].split("ende"); //makes to parts before ende and after ende
String result = parts[0]; //here is the result
ende
的问题:如果代码中有多个ende
,它就不会以这种方式工作,所以你必须选择一个不同的解决方案来重新添加其他部分:
String[] parts = code.split("Start:");
parts = parts[1].split("ende");
String result = parts[0];
//special case:
//add every splitted sub string, but NOT the last one
for (int i = 1;i<parts.length-1;i++){
result+=parts[i];
}