我有一个字符串构建器,我想在分割时忽略textbox2.Text的大小写(小写或大写)。
以下是我认为必须进行调整的代码行。
String[] subStrings = e.Item.Text.Split(new String[] { textBox2.Text }, StringSplitOptions.None);
StringSplitOptions只有两个选项,即None和RemoveEmptyEntries
我的完整程序如果我输入:“steph”,即使textbox2.text第一个字符是小写,“Stephen”中的文本“Steph”也会突出显示。
我的完整代码:
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();
}
答案 0 :(得分:2)
尝试使用Regex.Split。例如,
Regex.Split(textBox2.Text, "pattern", RegexOptions.IgnoreCase);
答案 1 :(得分: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();
}