某些单词组的Java搜索字符串

时间:2014-04-25 20:54:27

标签: java html search

我有这个代码,工作正常,它给了我一个网站的源代码:

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"

如果可能的话,我完全没有任何线索,更不用说知道如何去做了。我真的希望你们能帮助我。

1 个答案:

答案 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];
}