Member 9473758 Ответов: 2

Как игнорировать определенные строки с символами(VB.net в ASP.net)


У меня есть текстовый файл, который я читаю в ASP.net сайт.

**************************************************************
*Notes do not remove symbols e.g. = *#!	
*
*
**************************************************************

#Read this
!Ignore This


Итак, это текстовый файл. Я хочу читать только те строки, которые начинаются с#, и игнорировать остальные.

Любая помощь будет оценена по достоинству.

Я уже несколько дней пробовал код и все еще не мог найти никаких решений. Спасибо!

'Protected Sub PerformButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles PerformButton.Click
    '    SourceTextBox.Text() = ""
    '    TargetTextBox.Text() = ""
    '    Dim path As String = TextFileUpload.PostedFile.FileName
    '    Dim sw As StreamReader = New StreamReader(path)
    '    For Each 
    '        If sw.ReadLine().StartsWith("#") Then
    '            TextBox1.Text = 
    '        End If

2 Ответов

Рейтинг:
8

Member 9473758

Protected Sub PerformButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles PerformButton.Click
        Dim path As String = TextFileUpload.PostedFile.FileName
        Dim readText() As String = File.ReadAllLines(path)
        Dim strbuild = New StringBuilder()
        Dim s As String
        For Each s In readText
            If s.Trim.StartsWith("#") Then
                SourceTextBox.Text = s.TrimStart("#")
            End If
            If s.Trim.StartsWith("!") Then
                TargetTextBox.Text = s.TrimStart("!")
            End If

        Next
        
    End Sub


Richard Deeming

Я знаю, что это старый вопрос, но поскольку он появился в списке "активных", вот объявление о государственной службе для всех, кто хочет использовать это решение:

Вы НЕ МОГУ использовать PostedFile.FileName чтобы получить доступ к файлу. Он содержит путь - или иногда просто имя - файла НА КЛИЕНТЕ Ваш код запущен . НА СЕРВЕРЕ Код, запущенный на сервере, не имеет доступа к файлам на клиенте.

Может быть появиться для работы при отладке кода в Visual Studio. Но это только потому, что клиент и сервер являются одним и тем же компьютером в данном конкретном случае. Как только вы развернете код на реальном сервере, он с треском провалится.

Вы можете использовать либо PostedFile.Сохранить как[^] чтобы сохранить файл где-нибудь на вашем сервере; или вы можете использовать PostedFile.Входной поток[^] свойство считывать содержимое загруженного файла без предварительного сохранения его на диск.

В данном случае, InputStream это был бы самый лучший вариант.

Рейтинг:
1

Guirec

Попробовать это:

 <br />
var lines = System.IO.File.ReadAllLines(TextFileUpload.PostedFile.FileName)<br />
                .Where(x=>x.StartsWith("#"))<br />
                .ToList();<br />


Member 9473758

Привет, спасибо за быстрый ответ. Я вроде как новичок в программировании. Могу я спросить,Что такое var, x, как вы объявили? Я делаю это в VB.net я понял, что у вас есть ; в спине заключается в том, что в C#?