2011-05-01 9 views
24

में मौजूद है या नहीं, उम्मीद है कि कोई मेरी मदद कर सकता है। मैं सिर्फ सी # सीख रहा हूं और मेरे पास एक साधारण सवाल है।मैं कैसे जांच सकता हूं कि कोई स्ट्रिंग किसी अन्य स्ट्रिंग

मेरे पास एक चर है और मैं यह जांचना चाहता हूं कि यह किसी अन्य स्ट्रिंग में मौजूद है या नहीं। जैसे

if (test contains "abc") { 

} 

कुछ वहाँ एक आसान तरीका

+0

http://msdn.microsoft.com/en-us/library/dy85x1sa.aspx – Marlon

+1

Geepers ... आप लगभग उत्तर दिया कि अपने प्रश्न में से एक है। एपीआई दस्तावेज़ीकरण ल्यूक का प्रयोग करें ... बल सिर्फ इतना है कि 90 के – corlettk

उत्तर

49

उपयोग String.Contains:

if (stringValue.Contains(anotherStringValue)) 
{ 
    // Do Something // 
} 
+0

केस-असंवेदनशील भिन्नता – Pellet

10

IndexOf() समारोह सी # में यह करने के लिए काम करेंगे है ...
यह वापस आ जाएगी -1 अगर स्ट्रिंग मौजूद नहीं है

4
string MainString = "String Manipulation"; 
string SearchString = "pul"; 
int FirstChr = MainString.IndexOf(SearchString); 

यह कोड दिखाता है कि एक उप स्ट्रिंग के लिए स्ट्रिंग के भीतर कैसे खोज करें और या तो प्रारंभ या एक -1 की इंडेक्स स्थिति देता है जो इंगित करता है कि स्ट्रिंग नहीं मिली है।

आप Contains() का भी उपयोग कर सकते हैं, इसमें स्ट्रिंग प्रकार पर एक उदाहरण विधि है, जिसका अर्थ है कि आप इसे अपने प्रोग्राम में एक विशिष्ट स्ट्रिंग पर कॉल कर सकते हैं। इसमें एक बूल परिणाम होता है, जो पैरामीटर पाया जाता है, और यदि यह नहीं मिलता है तो गलत है।

using System; 

class Program 
{ 
    static void Main() 
    { 
    Test("Dot Net Perls"); 
    Test("dot net perls"); 
    } 

    static void Test(string input) 
    { 
    Console.Write("--- "); 
    Console.Write(input); 
    Console.WriteLine(" ---"); 
    // 
    // See if the string contains 'Net' 
    // 
    bool contains = input.Contains("Net"); 
    // 
    // Write the result 
    // 
    Console.Write("Contains 'Net': "); 
    Console.WriteLine(contains); 
    // 
    // See if the string contains 'perls' lowercase 
    // 
    if (input.Contains("perls")) 
    { 
     Console.WriteLine("Contains 'perls'"); 
    } 
    // 
    // See if the string contains 'Dot' 
    // 
    if (!input.Contains("Dot")) 
    { 
     Console.WriteLine("Doesn't Contain 'Dot'"); 
    } 
    } 
} 

स्ट्रिंग के बारे में कुछ भी के लिए C# String Functions and Manipulation देखें।

3

आपको नियमित अभिव्यक्तियों का उपयोग करना होगा। उदाहरण के लिए Regex.IsMatch(test, "abc")। परीक्षण में एबीसी होने पर यह सच हो जाएगा।

+5

के लिए नीचे मेरा उत्तर देखें जैसा कि आप ऊपर देख सकते हैं, आपको नियमित अभिव्यक्तियों का उपयोग करने के लिए "आवश्यकता" नहीं है।असल में, इस तरह से उन तरीकों को समझने के लिए सबसे अधिक संभव, धीमा, और कठिन हो सकता है। – VoidKing

3

String.Contains(...) का उपयोग करना एक अच्छा विचार नहीं हो सकता है।

String.Contains(...) एक सामान्य मामला-संवेदनशील तुलना करता है। तो, केस मिलान के बारे में सावधान रहें।

बिल्कुल आप इससे पहले कि आप

2

उपयोग की जांच इस बात के लिए String.Contains उपयोग कर सकते हैं ToLower() या ToUpper() उपयोग कर सकते हैं।

if (test.Contains("abc")) 
{ 
    // Your Code Here 
} 
3
if (stringValue.ToUpper().Contains("FIND_THIS")) 
{ 
    // Do Something // 
} 

केस-संवेदी खोजों के लिए एक और अच्छा भिन्नता है।

0

कुछ तरीकों कि CompareTo, Contains, Compare, IndexOfAny और IndexOf की तरह इस सत्यापन कर सकते हैं कर रहे हैं।

String कक्षा के तरीकों की सूची देखें।

string s1 = "ani\u00ADmal"; 
string s2 = "animal"; 
string s3 = "abc"; 
string s4 = "abc"; 
string s5 = "ABC"; 

bool b1 = s1.CompareTo(s2) > -1; // return true, exists 
bool b2 = s3.CompareTo(s4) > -1; // return true, exists 
bool b3 = s3.CompareTo(s5) > -1; // return false, no case sensitive, no exists 

bool b4 = s1.Contains(s2); // return false, no exists 
bool b5 = s3.Contains(s4); // return true, exists 
bool b6 = s3.Contains(s5); // return false, no case sensitive, no exists 

string s6 = "MACHINE"; 
string s7 = "machine"; 
string s8 = "nature"; 

int a = String.Compare(s6, 0, s7, 0, s6.Length, true); // return 0, contain and is less 
int b = String.Compare(s6, 0, s7, 0, s6.Length, false); // return 1, contain and is greater 
int c = String.Compare(s6, 0, s8, 0, s6.Length, true); // return -1, no contain 
int d = String.Compare(s6, 0, s8, 0, s6.Length, false); // return -1, no contain 

int e = s1.IndexOfAny(s2.ToCharArray()); // return 0, exists 
int f = s3.IndexOfAny(s4.ToCharArray()); // return 0, exists 
int g = s3.IndexOfAny(s5.ToCharArray()); // return -1, no case sensitive, no exists 

int h = s1.IndexOf(s2); // return 0, exists 
int i = s3.IndexOf(s4); // return 0, exists 
int j = s3.IndexOf(s5); // return -1, no exists 
संबंधित मुद्दे

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