string str = "6*42+84/2", нужно вернуть строку без "*", "/",":","-","+" и проверить что в ней нет букв Можно использовать Select, но тогда переменная, которая получится будет не локальной, ибо при каждом Replace, нужно будет сохранять её чтобы в след проход селекта он уже делал Replace на новой переменной new string[5]{ "/", "*", "+", "-", ":" }.Select(x => str = str.Replace(x, "")).ToList().Where(c => char.IsNumber(c)).ToList().Count//если нет букв вернёт 0 Код new string[5]{ "/", "*", "+", "-", ":" }.Select(x => str = str.Replace(x, "")).ToList().Where(c => char.IsNumber(c)).ToList().Count//если нет букв вернёт 0 В моём же случае мне нужно сохранить str в первоначальном виде и проверить локальную переменную на имеющиеся буквы. Я пробовал str.Replace(new string[5] { "/", "*", "+", "-", ":" }, "").Where(c => char.IsNumber(c) == false).ToList().Count//если нет букв вернёт 0 Код str.Replace(new string[5] { "/", "*", "+", "-", ":" }, "").Where(c => char.IsNumber(c) == false).ToList().Count//если нет букв вернёт 0 Но Replace не имеет перегрузки в которую можно было бы засунуть список строк/символов
//примитивный код // public string Rep(string rp, string ls) { foreach (var s in rp) { ls.Replace(s.ToString(),""); } return ls; } C# //примитивный код // public string Rep(string rp, string ls) { foreach (var s in rp) { ls.Replace(s.ToString(),""); } return ls; }