搜索两个CharSeqence(Java)之间的CharSequences

时间:2016-05-03 13:19:08

标签: java search charsequence

首先我要说的是,我是Java中的noobie。 (对不起,答案很简单)。 我有一个String,其中包含以下文字:

String htmlContent = "DienstagfälltMittwochfällt";

现在我有3个CharSequences:

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

我想要搜索

fällt 

在其他2个CharSequences之间。我不应该找到

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";

3 个答案:

答案 0 :(得分:0)

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

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

一旦您检索到该子字符串,请使用.contains(CharSequence substr)来检查它是否包含搜索到的CharSequence

您可以在行动here中看到它。

答案 1 :(得分:0)

htmlContent.substring(htmlContent.indexOf("Mittwoch")).contains("fällt");

答案 2 :(得分:0)

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

使用Contains()

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")
}