Удаление нежелательных персонажей

Я пытаюсь очистить список элементов, используя другой список, и он работает нормально, за исключением того, что он не игнорирует регистр. Когда я пытаюсь добавить порядковые или регулярные проверки, я получаю синтаксическую ошибку. Может кто-нибудь сказать мне, что я делаю не так? Вот мой код:

List<string> removeChars = new List<string>(textBox_ScrubList.Text.Split(','));
            for (int i = 0; i < sortBox1.Count; i++)
                foreach (string repl in removeChars)
                    sortBox1[i] = sortBox1[i].Replace(repl, "", RegexOptions.IgnoreCase);

И вот синтаксическая ошибка, которую я получаю:

Ошибка синтаксиса корпуса Regex

2 ответа

Решение

Так что я понял это. Последняя строка:

 sortBox1[i] = sortBox1[i].Replace(repl, "", RegexOptions.IgnoreCase);

должен был быть изменен на:

 sortBox1[i] = Regex.Replace(sortBox1[i], repl, "", RegexOptions.IgnoreCase);

Если предположить, sortBox1 это List<string> или подобное, проблема в том, что String.Replace не имеет перегрузки, которая занимает RegexOptions,

Ты можешь использовать Regex.Replace, но в этом случае вы, вероятно, сможете создать одно регулярное выражение для удаления всех символов за один раз. Если вы хотите удалить их по одному, вы можете использовать Regex.Escape чтобы избежать появления шаблонов регулярных выражений. (Например, если он попытается заменить "." На "", вы в конечном итоге избавитесь от всего.)

Другие вопросы по тегам