0

首先我想说的是,我是 Java 的菜鸟。(对不起,如果答案那么简单)。我有一个字符串,其中包含以下文本:

String htmlContent = "DienstagfälltMittwochfällt";

现在我有 3 个字符序列:

CharSequence dt = "Dienstag";
CharSequence mt = "Mittwoch";
CharSequence keyword = "fällt";

我要搜索

fällt 

在其他 2 个字符序列之间。我不应该找到

fällt 

在 CharSequence 之后

Mittwoch

有没有什么方法或者别的?如果没有,我怎么能实现我的想法?一个例子还不错:)。

我现在的代码:

import java.io.*;
import java.net.*;

public class TextScanner {

   public static void main (String[] args) throws Exception{
       URL url = new URL("http://mpg-vertretungsplan.de/w/18/w00023.htm");
       InputStream is = (InputStream) url.getContent();
       BufferedReader br = new BufferedReader(new InputStreamReader(is));
       String line = null;
       StringBuffer sb = new StringBuffer();
       while((line = br.readLine()) != null){
         sb.append(line);
       }
       String htmlContent = sb.toString();
       System.out.println(htmlContent);
     CharSequence dt="Dienstag";
     CharSequence mt="Mittwoch";
     CharSequence keyword="fällt";
     boolean found = htmlContent.contains(keyword);
     if(found==true){
         System.out.println("Es gibt eine Fehlstunde!");
     }else{
         System.out.println("Es gibt keine Fehlstunde!");
     }

   }
}

我希望答案也是错误的,如果

keyword 

在之后

mt

在字符串中:

String htmlContent2 = "DienstagMittwochfällt";
4

3 回答 3

0

您可以使用多种方法来检查句子是否存在,例如:

使用包含()

String htmlContent = "DienstagfälltMittwochfällt";
String myString = "fällt";
if(htmlContent.contains(myString)) //contains method return true or false
{
System.out.println("myString is exist")
}

另一种方法是使用 indexOf

if(htmlContent.indexOf(myString)>1)//returns an Integer if it is -1 that's mean the string doesn't exist, otherwise the string is exist
{
System.out.println("myString is exist")
}
于 2016-05-03T15:07:54.577 回答
0

您可以String.indexOf(String substr)用来获取两个分隔符在 中的位置String,然后String.substring(int beginIndex, int endIndex)用来获取它们之间的内容。

请注意,它String.indexOf(String substr)返回子字符串的起始位置,因此要计算beginIndex您需要添加第一个分隔符的长度。
此外,这些方法适用于Strings 而不是CharSequence,因此您必须将它们转换为.toString().

检索到该子字符串后,.contains(CharSequence substr)像当前一样使用它来检查它是否包含 searched CharSequence

您可以在这里看到它的实际效果。

于 2016-05-03T13:43:53.647 回答
0
htmlContent.substring(htmlContent.indexOf("Mittwoch")).contains("fällt");
于 2016-05-03T13:48:36.367 回答