【问题标题】:Java search string for certain wordgroups某些词组的 Java 搜索字符串
【发布时间】:2014-06-11 17:48:27
【问题描述】:

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

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" 之间。所以我需要一些搜索代码的东西。“开始:” ..部分,然后给出所有内容,直到“结束”

我完全不知道这是否可行,更不用说知道如何去做了。我真的希望你们能帮助我。

【问题讨论】:

  • 你的代码不会返回给我Start:,而是Startseite。也没有单独的 ende 单词,但有许多包含它的单词,例如 renderGleitende
  • 我知道我选择这些只是为了举例,因为对于我实际上想在这里写下的 html 代码,我一直收到相同的 stackoverflow 错误。这些只是让我的问题更清楚的两个随机词。

标签: java html search


【解决方案1】:

您可以使用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];
}

【讨论】:

    猜你喜欢
    • 2021-06-22
    • 1970-01-01
    • 2020-05-01
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 2011-08-23
    • 2012-10-23
    • 2021-12-03
    相关资源
    最近更新 更多