2017-09-22 36 views
-1

我有一個字符串生成器,我想在分離時忽略textbox2.Text的大小寫(大寫或小寫)。忽略字符串拆分的情況C#

下面是我認爲必須進行調整的代碼行。

String[] subStrings = e.Item.Text.Split(new String[] { textBox2.Text }, StringSplitOptions.None); 

StringSplitOptions只有兩個選項,這是無與RemoveEmptyEntries

如果我型我完整的程序應該是:「斯蒂芬」,在「泉」文本「斯蒂芬」將突出甚至TextBox2中。文本的第一個字符是小寫字母。

我全碼:

String[] subStrings = element.Text.Split(new String[] { textBox2.Text }, StringSplitOptions.); 
if (subStrings.Count() >= 2) 
{ 
    StringBuilder sb = new StringBuilder(); 
    sb.Append(subStrings[0]); 
    sb.Append("<color=#0193C6>" + textBox2.Text + "</color>"); 
    sb.Append(subStrings[1]); 
    for (int i = 2; i < subStrings.Count(); i++) 
     sb.Append(textBox2.Text + subStrings[i]); 
    element.Text = sb.ToString(); 
} 
+2

使用[Regex.Split](https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.split.aspx)代替 – maccettura

+1

'ToLowercase()'字符串分裂之前? – Strikegently

+3

你應該改變。這與StringBuilder無關。 –

回答

2

嘗試使用Regex.Split。對於例如

Regex.Split(textBox2.Text, "pattern", RegexOptions.IgnoreCase); 
+0

其實我已經試過,但那不是我想要的。 它不工作,我必須把整個模式,突出圖案 模式:斯蒂芬 - 庫裏 TextBox2中=斯蒂芬 - 庫裏 和模式轉換到TextBox2中這是不是我想要 我想要的是當我輸入:斯蒂芬。模式不會改變,只需突出顯示Steph :) –

+0

您是否嘗試過使用LowerCase的另一個答案? string elementString = element.Text; String [] subStrings = elementString.ToLower()。Split(new [] {textBox2.Text.ToLower()},StringSplitOptions.None); – JFT

0

嘗試轉換元素和textbox.Text ToLower()。

string elementString = element.Text; 
      String[] subStrings = elementString.ToLower().Split(new[] { textBox2.Text.ToLower() }, StringSplitOptions.None); 
      if (subStrings.Count() >= 2) 
      { 
       StringBuilder sb = new StringBuilder(); 
       sb.Append(subStrings[0]); 
       sb.Append("<color=#0193C6>" + textBox2.Text + "</color>"); 
       sb.Append(subStrings[1]); 
       for (int i = 2; i < subStrings.Count(); i++) 
        sb.Append(textBox2.Text + subStrings[i]); 
       element.Text = sb.ToString(); 
      } 
相關問題