Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
5 / 5 / 2
Регистрация: 31.03.2014
Сообщений: 40
1

Переход на новую строку в texbox после запятой

01.10.2015, 11:38. Показов 4799. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите советом. Есть textbox, в него загружается из CheckedListBox текст через запятую:
Вася, Петя, Коля.Дима.
Необходимо чтобы текст в textbox после загрузки выглядел так:
Вася,
Петя,
Коля,
Дима.
То есть после запятой переносился на новую строку именно в самом textbox.
Возможно ли это?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2015, 11:38
Ответы с готовыми решениями:

Как заменить переход на новую строку на пробел, а пустую строку на переход на новую строку?
Подскажите как из одного текстового файла, в котором в каждом ряде содержится не больше одного...

После каждой запятой следующую запись перенести на новую строку
Добрый день! возникла задача.. есть даные в строке 2456, 2457, 2474, 2499, 2500, 2501, 2502,...

Переход на новую строку после N символов
Привет народ. Мне нужна помошь. Как сделать чтоб программа не выводила в одной строке более N...

Переход на новую строку после 10 чисел
Программа для вывода чисел между двумя числами. Нужно сделать так, чтобы через каждые 10 чисел...

11
395 / 314 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
01.10.2015, 11:56 2
ekety, может пройтись по строкам и "запятую" заменить на "запятую и vbNewLine"?
1
5 / 5 / 2
Регистрация: 31.03.2014
Сообщений: 40
01.10.2015, 12:22  [ТС] 3
А можно поподробнее.

Добавлено через 23 минуты
Разобрался спасибо:
VB.NET
1
TextBox1.Text = Replace(TextBox1.Text, ",", vbCrLf)
0
207 / 224 / 87
Регистрация: 21.04.2013
Сообщений: 404
01.10.2015, 16:14 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от Дядя Корней Посмотреть сообщение
может пройтись по строкам и "запятую" заменить на "запятую и vbNewLine"
Дядя Корней, там еще пробелы.

Можно так:
VB.NET
1
2
3
4
5
        TextBox1.Text = "Вася, Петя, Коля, Дима."
        TextBox1.Text = String.Join(vbCrLf, From i As String In TextBox1.Text.Split(" "c) _
                                            Let ii = i.Trim _
                                            Where ii.Length > 0
                                            Select ii)
Изображения
 
2
5 / 5 / 2
Регистрация: 31.03.2014
Сообщений: 40
01.10.2015, 16:29  [ТС] 5
Спасибо за ответ. Есть еще вопрос: как заменить последний символ в текстбоксе?
В текстбоке программно записывается текст (записывается с последующим добавлением) : Вася, Петя, Лиза, Нужно заменить последнюю запятую на точку.
0
207 / 224 / 87
Регистрация: 21.04.2013
Сообщений: 404
01.10.2015, 16:47 6
Цитата Сообщение от ekety Посмотреть сообщение
как заменить последний символ в текстбоксе?
Наверно, не самый хороший вариант, но ничего другого не придумывается:
VB.NET
1
2
TextBox1.Select(TextBox1.TextLength - 1, 1)
        TextBox1.SelectedText = "."c
0
5 / 5 / 2
Регистрация: 31.03.2014
Сообщений: 40
01.10.2015, 16:52  [ТС] 7
Не работает: InvalidArgument=Значение '-1' недопустимо для 'start'.
0
395 / 314 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
01.10.2015, 19:13 8
Цитата Сообщение от ekety Посмотреть сообщение
...как заменить последний символ в текстбоксе?
Если меня старика не подводит память, то у текстбокса есть свойство line. Можно получить номер последней строки и уже конкретно в ней произвести замену "запятой" на "тчк".
0
207 / 224 / 87
Регистрация: 21.04.2013
Сообщений: 404
01.10.2015, 23:27 9
Цитата Сообщение от ekety Посмотреть сообщение
InvalidArgument=Значение '-1' недопустимо для 'start'.
Это потому, что TextBox был пустым.
VB.NET
1
2
3
4
        If TextBox1.TextLength > 0 Then
            TextBox1.Select(TextBox1.TextLength - 1, 1)
            TextBox1.SelectedText = "."c
        End If
0
5 / 5 / 2
Регистрация: 31.03.2014
Сообщений: 40
01.10.2015, 23:28  [ТС] 10
Вообще в идеале было бы неплохо найти последнюю запятую в тексте и заменить ее на точку. Пробовал путем удаления последнего символа а потом прописывал точку, но при таком подходе если пользователь допишет текс вручную и забудет оставить точку или запятую, стирается последняя буква слова.
VB.NET
1
2
3
4
5
6
7
8
 If TextBox2.TextLength < 1 Then
 
        Else
 
            TextBox2.Text = TextBox2.Text.Substring(0, TextBox2.Text.Length - 1)
            TextBox2.Text = TextBox2.Text & "."
 
        End If
Не совсем то что нужно.
0
207 / 224 / 87
Регистрация: 21.04.2013
Сообщений: 404
02.10.2015, 00:18 11
Лучший ответ Сообщение было отмечено ekety как решение

Решение

Цитата Сообщение от ekety Посмотреть сообщение
в идеале было бы неплохо найти последнюю запятую в тексте и заменить ее на точку
Попробуйте:
VB.NET
1
2
3
4
5
6
        If TextBox1.TextLength > 0 Then
            If TextBox1.Text.LastIndexOf(","c) = TextBox1.TextLength - 1 Then
                TextBox1.Select(TextBox1.TextLength - 1, 1)
                TextBox1.SelectedText = "."c
            End If
        End If
1
5 / 5 / 2
Регистрация: 31.03.2014
Сообщений: 40
02.10.2015, 00:37  [ТС] 12
Спасибо большое. Ваш код работает в таком виде:
VB.NET
1
2
3
4
5
6
7
8
9
10
If TextBox2.TextLength < 1 Then
 
        Else
 
            If TextBox2.Text.LastIndexOf(","c) = TextBox2.TextLength - 1 Then
                TextBox2.Select(TextBox2.TextLength - 1, 1)
                TextBox2.SelectedText = "."c
            End If
 
        End If
В оригинале ругается
0
02.10.2015, 00:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2015, 00:37
Помогаю со студенческими работами здесь

Переход на новую строку после пробела
Как организовать переход на новую строку после пробела? Ну например как из строки &quot;10 20 30&quot;,...

Получить на основе S новую строку путем добавления пробела после каждой запятой и удаление строк 'video'
задана строка S='16 Mb video RAM,video terminal.video buffer.'Преобразовать первые два её символа в...

Убрать переход на новую строку после "cin"
Хотелось бы убрать переход на новую строку после &quot;cin&quot;. когда использую cin&gt;&gt;n; после ввода, в...

Перенос точки или запятой на новую строку
В документе word 2013 иногда наблюдаю перенос точки или запятой на новую строку. Чаще всего это...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru