Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/64: Рейтинг темы: голосов - 64, средняя оценка - 4.98
2 / 2 / 0
Регистрация: 29.06.2016
Сообщений: 179

Замена символов в TextBox

13.03.2017, 15:31. Показов 12469. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, у меня такая проблема. Есть textBox, в который я вписываю предложение, например: "Вася вышел погулять".
И есть следующий код:
C#
1
2
3
4
 if (textBox2.Text == "а") // если в tB2 есть символ "а"
            {
                textBox2.Text = textBox2.Text.Replace("ь", "ъ"); //то заменяем символы "ь" на "ъ"
            }
Т.е. в результате должно получиться "Вася вышел погулятъ", но не получается). Помогите пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.03.2017, 15:31
Ответы с готовыми решениями:

Замена символов в TextBox не работает
На форме 2 текстбокса и 1 клик. Код в клик: string one; one = textBox1.Text; one =...

Замена символа в textbox
Идея такова в первый textbox вводится строка, по клику программа находит определенный символ в строке и заменяет его числами от 0 до 9 во...

Замена подстроки в TextBox
Ребята помогите пожалуйста... Хочу написать чат на c# и передомной встала одна единственная проблема это как сделать так чьо при вводе в...

14
 Аватар для Harttman
69 / 69 / 28
Регистрация: 12.09.2013
Сообщений: 237
13.03.2017, 15:55
C#
1
2
3
4
5
            if (textBox1.Text.Contains("а"))
            {
                textBox1.Text = textBox1.Text.Replace("ь", "ъ");
                 
            }
1
2 / 2 / 0
Регистрация: 29.06.2016
Сообщений: 179
13.03.2017, 15:59  [ТС]
Harttman, Спасибо большое)
0
2 / 2 / 0
Регистрация: 29.06.2016
Сообщений: 179
14.03.2017, 17:42  [ТС]
Harttman, скажите, можно ли как-то сделать следующее условие: Если в ТекстБоксе в текущей строке есть символ "a" значит заменяем символы "ь" этой строки на символы "ъ" не затрагивая другие строки текста?
0
25 / 25 / 15
Регистрация: 17.04.2011
Сообщений: 193
14.03.2017, 17:48
ManiKKK,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
String[] s = textBox1.Text.Split(new String[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
for(int i=0;i<s.Lenght; i++)
{
   if (s[i].Contains("а"))
  {
      s[i].Replace("ь", "ъ");
  }
}
textBox1.Text="";
for(int i=0;i<s.Length; i++)
{
  textBox1.Text +=s[i]+Environment.NewLine;
}
1
2 / 2 / 0
Регистрация: 29.06.2016
Сообщений: 179
14.03.2017, 18:33  [ТС]
timur-chak, Почему то не работает, не заменяет "ь" на "ъ"
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
14.03.2017, 18:36
А если так
C#
1
2
3
4
5
6
7
8
9
            string[] s = textBox1.Text.Split(new string[] { "\r\n" });
            for (int i = 0; i < s.Length; i++)
            {
                if (s[i].Contains("а"))
                {
                    s[i] = s[i].Replace("ь", "ъ");
                }
            }
            textBox1.Text = string.Join(Environment.NewLine, s);
1
25 / 25 / 15
Регистрация: 17.04.2011
Сообщений: 193
14.03.2017, 18:38
Цитата Сообщение от Someone007 Посмотреть сообщение
s[i] = s[i].Replace("ь", "ъ");
Ошибся =( и спасибо за Join, не знал
0
2 / 2 / 0
Регистрация: 29.06.2016
Сообщений: 179
14.03.2017, 18:48  [ТС]
Someone007, вот такая ошибка.
Миниатюры
Замена символов в TextBox  
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
14.03.2017, 18:52
Цитата Сообщение от ManiKKK Посмотреть сообщение
вот такая ошибка
C#
1
string[] s = textBox1.Text.Split(new char[] { '\r', '\n' });
или
C#
1
string[] s = textBox1.Text.Split('\r', '\n');
1
25 / 25 / 15
Регистрация: 17.04.2011
Сообщений: 193
14.03.2017, 19:01
Лучший ответ Сообщение было отмечено ManiKKK как решение

Решение

ManiKKK,
C#
1
String[] s = textBox1.Text.Split(new String[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
Попробуйте вернуть мою строку, ибо в вашем случае, в качестве параметра нужно передавать char. А в моем стринг, что удобней для вас =)

Почему так, пусть подскажут более опытные пользователи =)

Добавлено через 4 минуты
Someone007, Оба ваших варианта создадут лишние пустые строки
1
2 / 2 / 0
Регистрация: 29.06.2016
Сообщений: 179
14.03.2017, 19:06  [ТС]
Спасибо вам двоим за помощь!)
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
14.03.2017, 19:06
Цитата Сообщение от timur-chak Посмотреть сообщение
Оба ваших варианта создадут лишние пустые строки
А ваш вариант удалит их, даже если они были изначально. Помоему наилучшим вариантом был бы
C#
1
string[] s = text.Split(new string[] { "\r\n" }, StringSplitOptions.None);
т.к. он не затрагивает пустые строки в исходном тексте.
1
25 / 25 / 15
Регистрация: 17.04.2011
Сообщений: 193
14.03.2017, 19:08
Someone007, Да, пожалуй, это самое верное решение =)
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
14.03.2017, 19:20
Лучший ответ Сообщение было отмечено ManiKKK как решение

Решение

А еще у TextBox есть свойство Lines, которое позволяет еще упростить код, убрав string.Split и string.Join:
C#
1
2
3
4
5
6
7
8
9
            string[] s = textBox1.Lines;
            for (int i = 0; i < s.Length; i++)
            {
                if (s[i].Contains("а"))
                {
                    s[i] = s[i].Replace("ь", "п");
                }
            }
            textBox1.Lines = s;
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.03.2017, 19:20
Помогаю со студенческими работами здесь

Замена символа в TextBox
нашёл!

Замена строки в textBox
Как заменить строку в textBox? textBox1.Lines = &quot;&quot;; -//ошибка - выход за границу массива.

Замена textbox картинкой по условию
Может это и глупый вопрос, но можно ли для всех текстбоксов одним разом в которых есть буква &quot;с&quot; заменяла картинка! Если можно...

Замена Пробела на Tab в TextBox
Доброго вам времени суток. Есть два текстового поля, нужно что бы при нажатии пробела в текстовом поле отрабатывало нажатия кнопки...

Замена строки в textbox на строковую переменную
Есть текст в textbox2: 111 222 333 есть строковая переменная Х=444; Как сделать так чтобы получилось так: 444


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru