2016-03-22 6 views
7

द्वारा अलग स्ट्रिंग मैं तारों को विभाजित करने के लिए Split() विधि का उपयोग कर रहा हूं। लेकिन यह काम अगर आप string.Split() में स्थिति के लिए कुछ चरित्र सेट करते हैं। Uppercase देखने पर स्ट्रिंग को विभाजित करने का कोई तरीका है?सी # string.split() अपरकेस

Delete Sensor From Template 

उत्तर

8

उपयोग Regex.split

string[] split = Regex.Split(str, @"(?<!^)(?=[A-Z])"); 
2

: की तरह बनना है

DeleteSensorFromTemplate 

और परिणाम स्ट्रिंग:

जैसे कुछ अलग नहीं स्ट्रिंग से कुछ शब्द पाने के लिए क्या यह संभव है अगर आपको RegEx पसंद नहीं है और आप वास्तव में बस लापता रिक्त स्थान डालना चाहते हैं, तो यह होगा नौकरी भी:

public static string InsertSpaceBeforeUpperCase(this string str) 
{ 
    var sb = new StringBuilder(); 

    char previousChar = char.MinValue; // Unicode '\0' 

    foreach (char c in str) 
    { 
     if (char.IsUpper(c)) 
     { 
      // If not the first character and previous character is not a space, insert a space before uppercase 

      if (sb.Length != 0 && previousChar != ' ') 
      { 
       sb.Append(' '); 
      }   
     } 

     sb.Append(c); 

     previousChar = c; 
    } 

    return sb.ToString(); 
} 
संबंधित मुद्दे