2017-09-22 25 views
-1

文字列作成ツールがあり、大文字小文字の区別を無視したいです。文字列分割で大文字小文字を区別しないC#

ここでは、調整が必要なコード行があります。

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

StringSplitOptionsがある2つだけのオプションを持っているなしと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

あなたはretitleする必要があります。これはStringBuilderとは関係ありません。 –

答えて

2

Regex.Splitを使用してみてください。例えば、

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

実際に私はすでにそれを試みたが、私はそれを望んでいない。ステファニー:私は、私が入力したときに、私が欲しい は望んでいないされてTextBox2をに変換スティーブンカレー TextBox2を=スティーブンカレー とパターン: それdoesntの仕事は、私はパターン パターンを強調するために全体のパターンを配置する必要があります。パターンは変更されず、単に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(); 
      } 
関連する問題