2011-10-19 19 views
6

मैं यह जांचने की कोशिश कर रहा हूं कि वर्तमान स्थान स्थान पर कोई स्थान, कोई नई लाइन या टैब है या नहीं। रिक्त स्थान काम करते हैं लेकिन टैब और न्यूलाइन नहीं करते हैं। आंकड़े जाओ, मैं उन लोगों के लिए भागने का उपयोग कर रहा हूं, और केवल एक स्थान के लिए एक नियमित स्थान ... किसी स्थान पर इन्हें ढूंढने का सही तरीका क्या है?charAt के साथ रिक्त स्थान, न्यूलाइन और टैब ढूंढना()

if(String.valueOf(txt.charAt(strt)).equals(" ") || 
        txt.charAt(strt) == '\r' || 
        txt.charAt(strt) == '\n' || 
        txt.charAt(strt) == '\t') { 
    //do stuff 
        } 
+0

'txt' क्या है? और यदि यह 'स्ट्रिंग' है ... आप 'String.valueOf()' का उपयोग क्यों कर रहे हैं? –

+0

ब्रायन: मुझे संदेह है क्योंकि इसके बिना असंगत प्रकारों के बारे में शिकायत की गई है (और '' '' टाइप करना कठिन था?) – Amadan

+0

txt एक संपादन योग्य – bwoogie

उत्तर

8

यह मेरे लिए काम करता है:

char c = txt.charAt(strt); 
    if (c == ' ' || c == '\t' || c == '\n' || c == '\r') 
    System.out.println("Found one at " + strt); 

तुम्हारा भी काम करता है, हालांकि यह थोड़ा मुश्किल का पालन करने के लिए है। यह आपके लिए क्यों काम नहीं करता है मुझे नहीं पता - शायद स्ट्रिंग बुरी तरह से बनाई गई है? क्या आप वाकई इसमें टैब और सामान रखते हैं?

+0

लागत बचाने के लिए तुलना करने की इस विधि में बदल गया। – bwoogie

1

यह ठीक काम करना चाहिए, अपनी इनपुट स्ट्रिंग जांचें। साथ ही, रिक्त स्थान वर्ण की तुलना करके अंतरिक्ष की जांच की जा सकती है। तुलना के लिए सिर्फ एक नई स्ट्रिंग ऑब्जेक्ट बनाना महंगा है।

+0

... जैसा कि प्रत्येक चार चार बार निकालने वाला है। – Amadan

0

एंड्रॉइड में Editable के लिए दस्तावेज़ों को देखते हुए, यह char देता है। इसलिए ...

if (txt.charAt(strt) == ' ' || 
    txt.charAt(strt) == '\r' || 
    txt.charAt(strt) == '\n' || 
    txt.charAt(strt) == '\t') 
{ 
    //do stuff 
} 

अपेक्षित परिणाम उत्पन्न करेगा।

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