@DL1111

Есть строка символов, на английском языке. Как мне заменить все буквы латинского алфавита на знак «+»?

Данная строка символов, состоящий из произвольного
текста на английском языке, слова разделены пробелом. заменить
все буквы латинского алфавита на знак «+». Исходные данные вводить с помощью ListBox. строки
вводятся на этапе проектирования формы, используя окно
свойств. Вывод результата организовать в метку Label.
У меня есть код только я не понимаю как сделать все так, как описано выше
Вот код:
string alfEng = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz";//английский алфавит
            char[] AA = alfEng.ToCharArray();
            string stroka = "swer rrttyy uu iop!"; //исходная строка
            string resultat = "";//здесь будет результат
            stroka.ToCharArray().All(y=>{if(AA.Contains(y)) resultat+='+'; else resultat+=y; return true;});
  • Вопрос задан
  • 1723 просмотра
Пригласить эксперта
Ответы на вопрос 4
BasiC2k
@BasiC2k
.NET developer (open to job offers)
Используйте регулярные выражения. Это быстро и просто.
Ответ написан
можно через регехи
var input = "swer rrttyy uu iop!";
var result = Regex.Replace(input, "[a-z]", "+", RegexOptions.IgnoreCase);
Console.WriteLine(result); //++++ ++++++ ++ +++!
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Откройте для себя ascii все английские буквы это числа. Ваша задача создать stringbuilder и пробежаться по коллекции символов исходной строки. Внутри цикла проверяете символ на вхождение в диапазон если входит то добавляете в стрингбулдер + если нет то просто вставляете этот символ. Как я думаю это самый быстрый способ
Ответ написан
Комментировать
@vikach
здравствуйте, вы решили задачу? скажите пожалуйста
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы