Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/23: Рейтинг темы: голосов - 23, средняя оценка - 4.87
2 / 2 / 1
Регистрация: 13.07.2012
Сообщений: 31

Проверка количества определенных символов в строке

14.07.2012, 12:22. Показов 4382. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, мне надо проверять текст в TextBox1.Text, задача такая в начали каждой строчки ест символ “*” и посередине ест тоже символ “*”, нужен код который проверял что в каждой строке ест символ два символа “*”, если только один символ то поставить в самом конце той строчке символ“*”.
Вот пример.

*штанга* вес 100кг
*штанга 2* вес 60кг
*штанга 3 вес 70кг

А программа должна выдать вот так.

*штанга* вес 100кг
*штанга 2* вес 60кг
*штанга 3 вес 70кг*

Язык программирования Visual Basic 2010
Заранее благодарю.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.07.2012, 12:22
Ответы с готовыми решениями:

Выводим текст после определенного количества определенных символов
Ребят нужен хелп! :) Собственно имеется строка вида: <!--Base045567Table0654336NumPos - 2275 Мне нужно получить то, что находится...

Проверка строки на содержание определенных символов
К примеру есть строка ("ООО Лампа/Москва"), необходимо проверить содержит ли эта строка определенные символы из массива Dim...

Как подсчитать количество определенных символов в строке?
Итак: есть файл с длинной строкой содержащей подряд множество символов. Задача подсчитать их общее количество и количество каждого символа....

4
Эксперт Hardware
 Аватар для Linoge
3205 / 1915 / 324
Регистрация: 25.10.2011
Сообщений: 5,564
14.07.2012, 17:54
Если vb2010 то это в другой раздел vbnet

Что делать если вообще нет *???

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Dim strText
strText = Split(Text1.Text, vbCrLf)
Text1.Text = ""
For i = LBound(strText) To UBound(strText)
    t = InStr(1, strText(i), "*")
    If t = 0 Then GoTo nxt ' если нет * то просто копирует строку
    t = InStr(t + 1, strText(i), "*")
    If t = 0 Then strText(i) = strText(i) & "*"
nxt:
    Text1.Text = Text1.Text & strText(i) & vbCrLf
Next
2
2 / 2 / 1
Регистрация: 13.07.2012
Сообщений: 31
14.07.2012, 19:28  [ТС]
Не сработал код программы зависла и в visual studio появилось сообщения.

“ Значение не может быть неопределенным.
Имя параметра: Аргумент "Array" имеет значение Nothing.”

И выделилась такая строка желтым цветом.
VB.NET
1
For i = LBound(strText2) To UBound(strText2)
А в принципе это просто усовершенствуя программы Заменить определённый символ один раз в каждой строке
То ест код расположен по одной кнопки, я программном уже поставил в начали строки символ “*”
Но в Textbox.text может попасть вот такая строчка
*hhhhhhh
А мне надо чтоб она сделалась вот так.
*hhhhhhh*
“Что делать если вообще нет *???”
Дело в том что * в начали каждой строке будит.
Спасибо за код.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
15.07.2012, 12:54
Подсчитай сколько "*" в строке!! Если одна - добавь в конце ещё одну.
Подсчитать можно заменив "*" на "" и сравнив длины исходной и получавшеся после замены

Добавлено через 29 минут
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
Public Class Form1
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim S() As String
        S = Split(TextBox1.Text, vbNewLine)
        For J = 0 To UBound(S)
            S(J) = IIf(Mid(S(J), 1, 1) = "*", S(J), "*" & S(J))' "*" в начале строки
            S(J) = IIf(Len(S(J)) - Len(Replace(S(J), "*", "")) = 1, S(J) & "*", S(J))' "*" в конце строки
        Next
        TextBox1.Text = Join(S, vbCrLf)
    End Sub
End Class
0
290 / 271 / 107
Регистрация: 10.06.2011
Сообщений: 696
16.07.2012, 15:22
Цитата Сообщение от Alex77755 Посмотреть сообщение
Подсчитать можно заменив "*" на "" и сравнив длины исходной и получавшеся после замены
Не легче ли использовать indexOf и LastIndexOf?
VB.NET
1
2
3
4
5
Dim S() As String=TextBox1.Text.Split(vbCrLf)
        For i = 0 To s.length-1
           if s(i).indexOf("*")=s(i).lastindexof("*") then s(i) &= "*"
        Next i
        TextBox1.Text =join(s, vbCrLf)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.07.2012, 15:22
Помогаю со студенческими работами здесь

Замена определенных символов в файле
Помогите реализовать перезапись в файле.txt. Задача такая: есть текстовый файл с данными, сами же данные переодически меняются. ...

Удаление букв и определенных символов
Здравствуйте. Задание - реализовать "вычислитель" арифметического выражения. С этим справился. Но также нужно запретить пользователю...

Ввод в TextBox только определенных символов
Суть проблемы такова: что нужно прописать в окно TextBox, чтобы в поле можно было ввести только числа , знак -, и чтобы, если в поле...

Запрет ввода в TextBox определенных символов
В общем проблема такая, пол дня уже пытаюсь выполнить небольшое задание... Нужно поставить защиту от всех букв и цифр кроме цифр...

Запретить ввод в текстовое поле определенных символов
Всем доброго дня еще раз. Как запретить ввод в текстовое всего, кроме цифр и не более 2х точек


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru