2009-07-15 7 views
7

मान लीजिए मैं इस तरह एक स्ट्रिंग है:मैं एंड्रॉइड में इसके लिए नियमित अभिव्यक्ति कैसे बना सकता हूं?

string = "Manoj Kumar Kashyap"; 

अब मैं रेगुलर एक्सप्रेशन जहां का अंतरिक्ष के बाद दिखाई देता है और यह भी मिलान करने वाले वर्णों के सूचकांक प्राप्त करना चाहते हैं मैच के लिए बनाना चाहते हैं।

मैं जावा भाषा का उपयोग कर रहा हूं।

उत्तर

15

तुम सिर्फ जावा SE में रेगुलर एक्सप्रेशन का उपयोग कर सकते हैं:

Pattern pattern = Pattern.compile(".* (Ka).*"); 
Matcher matcher = pattern.matcher("Manoj Kumar Kashyap"); 
if(matcher.matches()) 
{ 
    int idx = matcher.start(1); 
}
4

आप ऐसा करने के लिए रेगुलर एक्सप्रेशन जरूरत नहीं है। मैं एक जावा विशेषज्ञ नहीं हूँ, लेकिन Android docs के अनुसार:

सार्वजनिक पूर्णांक indexOf (स्ट्रिंग स्ट्रिंग) निर्दिष्ट श्रृंखला का पहला सूचकांक के लिए इस स्ट्रिंग में
खोज करता है। स्ट्रिंग के लिए खोज पर शुरू होती है और इस स्ट्रिंग को के अंत की ओर ले जाती है।

पैरामीटर
खोजने के लिए स्ट्रिंग स्ट्रिंग।

रिटर्न
में निर्दिष्ट स्ट्रिंग के पहले चरित्र के सूचकांक इस स्ट्रिंग, -1 अगर निर्दिष्ट स्ट्रिंग सबस्ट्रिंग नहीं है।

आप शायद की तरह कुछ के साथ खत्म हो जाएगा:

int index = somestring.indexOf(" Ka"); 
0

तुम सच में नियमित अभिव्यक्ति और न सिर्फ indexOf की जरूरत है, यह इस

String[] split = "Manoj Kumar Kashyap".split("\\sKa"); 
if (split.length > 0) 
{ 
    // there was at least one match 
    int startIndex = split[0].length() + 1; 
} 
तरह यह करने के लिए संभव है
संबंधित मुद्दे

 संबंधित मुद्दे