सबसे पहले मैं यह कहना चाहता हूं कि मैं जावा में एक नौसिखिया हूं। (क्षमा करें यदि उत्तर इतना आसान है)। मेरे पास एक स्ट्रिंग है, जिसमें निम्न पाठ है:

String htmlContent = "DienstagfälltMittwochfällt";

अब मेरे पास 3 चार अनुक्रम हैं:

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

मुझे खोज चाहिए

fällt 

अन्य 2 चार अनुक्रमों के बीच। मुझे नहीं मिलना चाहिए

fällt 

चार अनुक्रम के बाद

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";
0
alexanders916 3 मई 2016, 16:19

3 जवाब

सबसे बढ़िया उत्तर

आप उपयोग कर सकते हैं String.indexOf(String substr) String में दो सीमांकक की स्थिति प्राप्त करने के लिए, फिर String.substring(int beginIndex, int endIndex) उनके बीच क्या है यह जानने के लिए।

ध्यान दें कि String.indexOf(String substr) सबस्ट्रिंग की प्रारंभिक स्थिति लौटाता है, इसलिए beginIndex की गणना करने के लिए आपको पहले सीमांकक की लंबाई जोड़नी होगी।
साथ ही, वे तरीके CharSequence के बजाय String पर काम करते हैं, इसलिए आपको उन्हें .toString() से बदलना होगा।

एक बार जब आप उस सबस्ट्रिंग को पुनः प्राप्त कर लेते हैं, तो .contains(CharSequence substr) का उपयोग करें जैसा कि आप वर्तमान में करते हैं यह जांचने के लिए कि क्या इसमें खोजा गया CharSequence है।

आप इसे यहां क्रिया में देख सकते हैं।

0
Aaron 3 मई 2016, 17:55
htmlContent.substring(htmlContent.indexOf("Mittwoch")).contains("fällt");
0
Andy 3 मई 2016, 16:55

उदाहरण के लिए वाक्य मौजूद है या नहीं, यह जांचने के लिए आप कई विधियों का उपयोग कर सकते हैं:

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")
}
0
gariepy 6 मई 2016, 21:37