2012-01-16 5 views
19

क्या यह निर्धारित करने का कोई तरीका है कि स्ट्रिंग में कोई स्थान है या नहीं?जांचें कि स्ट्रिंग के बीच (या कहीं भी)

sossjjs sskkktrue वापस लौटना चाहिए, और sskskjsk को झूठी वापसी करनी चाहिए।

"sssss".Trim().Length काम नहीं कर रहा है।

+3

क्या स्ट्रिंग। सामग्री ("") आपके लिए काम नहीं करती है? – Reddog

+0

यह अजीब है ... – Bastardo

+0

संभावित डुप्लिकेट [टेक्स्टबॉक्स में व्हाइटस्पेस का पता लगाने] [http://stackoverflow.com/questions/8866455/detecting-whitespace-in-textbox) –

उत्तर

44

कैसे के बारे में ..

string s = "Hello There"; 
bool fHasSpace = s.Contains(" "); 
+1

किसी के लिए जादू तारों का उपयोग न करने का प्रयास करने के लिए यह कोई समाधान नहीं है। –

+1

यह वास्तव में सबसे अच्छा समाधान है, यदि अंतरिक्ष की जांच करने के लिए आपको बस इतना करना है तो स्थिति का उपयोग करें। –

4

Trim() केवल आगे या पीछे के स्पेस को हटा देगा। एक स्ट्रिंग सफेद स्थान शामिल हैं अगर

कोशिश .Contains() जाँच करने के लिए

"sossjjs sskkk".Contains(" ") // returns true 
+0

अच्छी कॉल। इसके बारे में सोचना चाहिए था! – dotnetdev

7

यह भी इस लक्ष्य को हासिल करने के लिए रेगुलर एक्सप्रेशन का उपयोग करने के लिए जब आप किसी भी खाली स्थान के चरित्र के लिए परीक्षण और न सिर्फ एक अंतरिक्ष के लिए चाहते हो सकता है।

var text = "sossjj ssskkk"; 
var regex = new Regex(@"\s"); 
regex.IsMatch(text); // true 
+2

आप स्थिर 'Regex.IsMatch (टेक्स्ट, @ "\ s") ' –

+0

का भी उपयोग कर सकते हैं यदि आप बहुत सी तुलना कर रहे हैं तो यह आवृत्ति संस्करण का उपयोग करने योग्य है लेकिन सामान्य मामले के लिए स्थिर' Regex.IsMatch() 'पर्याप्त http://stackoverflow.com/a/414411/132599 से अधिक है। –

2

यह कार्यों आप मदद करनी चाहिए ...

bool isThereSpace(String s){ 
    return s.Contains(" "); 
} 
67

कैसे के बारे में:

myString.Any(x => Char.IsWhiteSpace(x)) 

या यदि आप "विधि समूह" सिंटैक्स का उपयोग की तरह:

myString.Any(Char.IsWhiteSpace) 
+1

सभी प्रकार की रिक्त स्थानों का पता लगाने के लिए उपयोगी: http://en.wikipedia.org/wiki/Whitespace_character – Velcro

+8

'if (myString.Any (Char.IsWhiteSpace))' को छोटा किया जा सकता है और थोड़ा और पठनीय है। –

+2

यह वास्तव में स्वीकार्य एवर होना चाहिए, इस बारे में कोई जानकारी नहीं है कि कितने अजीब सफेद जगह वर्ण हैं और यह सब कुछ के साथ काम करेगा .नेट – mfeineis

-4

यदि आपको केवल शुरुआत और अंतराल का पता लगाने की आवश्यकता है गति, मैं इस विस्तार विधि का उपयोग करने का सुझाव देता हूं, जिसे दिमाग में प्रदर्शन के साथ ठीक-ठीक किया गया है।

/// <summary> 
/// Detects Whitespace at the beginning or end of a string. 
/// Whitespace in the middle of the string is ignored. 
/// </summary> 
/// <param name="data"></param> 
/// <returns></returns> 
public static bool HasWhiteSpace(this string data) 
{ 
    return data[0] == 0x20 || data[data.Length - 1] == 0x20; 
} 
+0

लॉल, क्या नरक है? सभी downvotes क्यों? मैं कसम खाता हूं कि स्टैक ओवरफ्लो शायद इंटरनेट पर सबसे खराब, ऑटिस्टिक और विषाक्त वेबसाइट है। – Krythic

+0

"दिमाग में प्रदर्शन के साथ ठीक-ठीक" एक खाली स्ट्रिंग के साथ विफल हो जाएगा। – sisve

+0

इसके अलावा, प्रश्न एक जांच के लिए पूछता है कि क्या स्ट्रिंग में जगह _in_ है, न कि अगर शुरुआत या अंत में कोई स्थान हो। – sisve

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