Чтение и поиск в текстовом файле

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

AnarCky
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 229
Зарегистрирован: 20.11.2006 (Пн) 20:12
Откуда: Россия, Екатеринбург.

Чтение и поиск в текстовом файле

Сообщение AnarCky » 20.05.2007 (Вс) 11:19

Есть крупный текстовой файл, в котором записана инфа о химиках, разделенная знаком абзаца (конца строки). Я ищу в этом файле фамилию введенную в текстовое поле и запрашиваю текст. Проблема в том, что фамилия одного составляет иногда фамилию другого ("Бор" и "Бородин") :(. Как этого избежать?
Подскажите пожалуйста!

Код: Выделить всё

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim obj, objLav As System.IO.StreamReader, _
            strText, strName As String, strEx As Char, ind, leng As Integer, _
            arUch() As String = Nothing, _
            famInf() As String = Nothing, _
            fnt As New Font("Comic Sans MS", 12, FontStyle.Regular)

        Try
            obj = System.IO.File.OpenText("Ученые.txt")
            arUch = Regex.Split(obj.ReadToEnd, vbCrLf)
            strName = txtUchP.Text

            For Each uchen As String In arUch
                famInf = Regex.Split(uchen, " - ")
                ind = uchen.IndexOf(strName)

                If ind <> -1 Then
                    If ind < 3 Then
                        rtxtUch.Text = famInf(0).TrimEnd & " " & famInf(1) & vbCrLf
                            rtxtUch.Font = fnt
                    End If
                End If

            Next

            obj.Close()

        Catch Ex As IO.FileNotFoundException
            MsgBox("К сожалению не найден файл Ученые.txt.", _
                    MsgBoxStyle.Critical, "Ошибка")
        Catch ex As Exception
            MsgBox("Произошла следующая ошибка: " & ex.Message, _
                    MsgBoxStyle.Critical, "Ошибка")
        Finally
            Me.Focus()
        End Try

    End Sub
Компьютеры были придуманы чтобы исправлять ошибки людей. Но кто же тогда будет исправлять ошибки компьютера?..

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 20.05.2007 (Вс) 12:02

разделенная знаком абзаца (конца строки)

А это тогда зачем?
Код: Выделить всё
famInf = Regex.Split(uchen, " - ")
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 20.05.2007 (Вс) 16:17

Код: Выделить всё
Dim R As New Regex("^" & txtUchP.Text & "\s")
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 44

    TopList