User 13790648 Ответов: 2

Как я могу получить количество вхождений символа в строку в VB.NET


Просто чтобы вы все знали, я просмотрел все опубликованные вопросы и другие в интернете. Моя проблема заключается в том, что я создал строковую функцию в VB 2012, которая (имеет некоторые аргументы). Он выполняет поиск определенных местоположений в массиве 25 x 25 символов и возвращает строку длиной от 3 до 10 символов. Эта строка будет состоять из заглавных букв (слов) и "*".

Я хотел бы использовать:

String.Replace("*", "").Count


чтобы определить количество этих символов в возвращаемой строке. Как мне это сделать?

Что я уже пробовал:

Я пытался:

MyFunction([some arguments]).Replace("*", "").Count


но это не работает. Я даже не думаю, что моя функция возвращает строку должным образом.

2 Ответов

Рейтинг:
20

OriginalGriff

Взгляните на это: Подсчет строк в строке[^] - речь идет о строках, но это просто означает, что он специально ищет '\n' - это просто изменить - и код C#, а не VB, но это в основном довольно тривиальный код. Если вы не можете этого понять, то вам могут помочь такие онлайн-конвертеры: Преобразователь кода C# в VB и VB в C# – Telerik[^]
Он представляет довольно много различных способов сделать это, вместе с их относительными скоростями.


[no name]

Спасибо, но я все понял. Вызов функции производился из оператора "IF", и функция не имела значения. Я присвоил значение функции временной переменной, а затем попробовал заменить - это сработало!

Рейтинг:
0

Patrice T

Цитата:
но это не работает. Я даже не думаю, что моя функция возвращает строку должным образом.

Отображение полученного результата может помочь вам узнать, работает ли функция правильно или нет.
MyFunction([some arguments]).Replace("*", "").Count

Replace-это функция регулярного выражения, а в регулярном выражении ' * ' - это специальный символ. вам, вероятно, нужно будет изменить его ti '\*'

Всего лишь несколько интересных ссылок, которые помогут построить и отладить регулярное выражение.
Вот ссылка на документацию по регулярным выражениям:
perlre - perldoc.perl.org[^]
Вот ссылки на инструменты, помогающие создавать регулярные выражения и отлаживать их:
.Объем тестер регулярное выражение - регулярное выражение шторм[^]
Регулярное Средство Выражения Эспрессо [^]
RegExr: Learn, Build, & Test RegEx[^]
Онлайн-тестер регулярных выражений и отладчик: PHP, PCRE, Python, Golang и JavaScript[^]
Этот пример показывает вам регулярное выражение в виде красивого графика, который действительно полезен для понимания того, что делает регулярное выражение:
Debuggex: онлайн-тестер визуальных регулярных выражений. JavaScript, Python и PCRE.[^]
Этот сайт также показывает регулярное выражение в красивом графике, но не может проверить, что соответствует регулярному выражению:
Regexper[^]


[no name]

Спасибо, но я все понял. Вызов функции производился из оператора "IF", и функция не имела значения. Я присвоил значение функции временной переменной, а затем попробовал заменить - это сработало!

Patrice T

Приятно это слышать.
Всегда лучше разместить какой-то код, который мы можем запустить.