progs.biz  
Начало>VB.NET>FAQ>Урок 14
C#
VB.NET
Visual C++.NET
ASP.NET
Visual C++ 6
WinAPI
C/C++
Delphi
C++ Builder
Java
SQL
PHP
DirectX
Visual Basic 6.0
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

Джон Коннелл. Разработка элементов управления Microsoft .NET на Microsoft Visual Basic .NET
Джон Коннелл. Разработка элементов управления Microsoft .NET на Microsoft Visual Basic .NET
Заказать на Озоне



Яндекс-цитирования

VB.NET. FAQ
Вопрос 14. Как найти все подстроки в строке?

Для нахождения всех определенных подстрок в некой строке надо вызвать в цикле метод IndexOf. Этот метод возвращает позицию первого вхождения указанной подстроки. Для нахождения дальнейших подстрок надо вызывать этот же метод, указав в нем, что поиск надо делать не с начала, а с найденной позиции.

Вот пример:

        ' Строка, в которой ищем.</em>
        Dim s As String = "qqaa qqsss"
        ' Строка, которую ищем.
        Dim find As String = "qq"
        ' Номер позиции найденного элемента.
        Dim pos As Int32 = 0
        Do
            ' Получаем позицию очередного элемента.
            pos = s.IndexOf(find, pos)
            ' Если что-то найдено...
            If pos <> -1 Then
                ' то показываем позицию найденного элемента.
                MessageBox.Show("Подстрока найдена на " + pos.ToString() + _
                    " позиции")
                ' Увеличиваем позицию поиска на длину строки для поиска.
                pos += find.Length
            End If
        Loop Until pos = -1

Указанный фрагмент выведет 0 и 5 - именно на этих позициях находится подстрока "qq" в строке "qqaa qqsss".

Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2008 сайт progs.biz
© 2002-2008 Игорь Алексеев