2012-05-24 21 views
9

मैं इस कोड है जो एक स्ट्रिंग सरणी खोज करता है और परिणाम देता है अगर इनपुट स्ट्रिंग एक स्ट्रिंग के 1 से मेल खाता है:एक विशिष्ट शब्द के लिए पूरी स्ट्रिंग को कैसे खोजें?

for (int i = 0; i < countryCode.length; i++) { 
      if (textlength <= countryCode[i].length()) { 
       if (etsearch 
         .getText() 
         .toString() 
         .equalsIgnoreCase(
           (String) countryCode[i].subSequence(0, 
             textlength))) { 
        text_sort.add(countryCode[i]); 
        image_sort.add(flag[i]); 
        condition_sort.add(condition[i]); 
       } 
      } 
     } 

लेकिन मैं जहां इनपुट स्ट्रिंग न केवल में से मेल खाता है उन स्ट्रिंग भी प्राप्त करना चाहते हैं पहले अक्षर लेकिन स्ट्रिंग में कहीं भी? यह कैसे करना है? बाहर contains(CharSequence) विधि

+0

स्ट्रिंग में एक() विधि है - आप इसका उपयोग कर सकते हैं। – mcfinnigan

+0

क्या स्ट्रिंग.इंडेक्सऑफ() एंड्रॉइड में उपलब्ध है? – Teg

+0

में, indexOf() मेरे लिए कुछ भी काम नहीं कर रहा है :( – Reyjohn

उत्तर

20

आप तीन तरह से खोज करने के लिए है, तो एक स्ट्रिंग-स्ट्रिंग या नहीं होते हैं:

String string = "Test, I am Adam"; 
// Anywhere in string 
b = string.indexOf("I am") > 0;   // true if contains 

// Anywhere in string 
b = string.matches("(?i).*i am.*");  // true if contains but ignore case 

// Anywhere in string 
b = string.contains("AA") ;    // true if contains but ignore case 
+0

पहला मेरे लिए काम करता है, धन्यवाद :) – Reyjohn

+1

"बी = string.indexOf (" मैं हूं ") की तरह! = -1, " – Shaun

3

चेक का प्रयास करें इस-

etsearch.getText().toString().contains((String) countryCode[i]); 
0

उपयोग निम्नलिखित:

public boolean contains (CharSequence cs) 

के बाद से: एपीआई स्तर 1

निर्धारित करता है कि इस स्ट्रिंग वर्णों के अनुक्रम में CharSequence पारित कर सकते हैं।

Parameters 

cs चरित्र अनुक्रम के लिए खोज करने के लिए।

Returns 

सच यदि पात्रों के अनुक्रम इस स्ट्रिंग में शामिल हैं, अन्यथा झूठी

4

मेरे पास है पर्याप्त नहीं 'प्रतिष्ठा अंक' टिप्पणी में जवाब देने के लिए है, लेकिन वहाँ है स्वीकृत उत्तर में एक त्रुटि। indexOf() रिटर्न -1 जब यह सबस्ट्रिंग नहीं मिल पाता है, तो यह होना चाहिए:

b = string.indexOf("I am") >= 0; 
संबंधित मुद्दे