簡體   English   中英

vb.net正則表達式與字符串的比較

[英]vb.net regex comparison to string

我試圖復制行,直到檢測到空行,但是此代碼滯后於我的計算機,我不知道我在做什么錯,這是因為我在另一個while循環內運行while循環? 這是我的代碼:

ElseIf String.Compare(line, "the") = 1 And Not line.ToLower().Contains("by") Then
            While True

                Dim title = New Regex("^\s*$").Matches(line).Count
                If title = 1 Then Exit While

                builder.AppendLine(line)
                builder.AppendLine(reader.ReadLine())

            End While

您沒有重置line變量。 這樣的事情可能應該起作用:

While True
    Dim title = New Regex("^\s*$").Matches(line).Count
    If title = 1 Then Exit While
    builder.AppendLine(line)
    line = reader.ReadLine()
End While

編輯

可以使用String.IsNullOrWhiteSpace()代替正則表達式,而使將來的代碼更易於閱讀。

很難用那段簡短的代碼來確切地說明您要做什么。但是,它不起作用的原因很明顯。 如果title不等於1您將陷入無限循環。 我認為,您認為line的值將更改While循環內調用reader.ReadLine到達時間。 您可能打算這樣做:

line = reader.ReadLine()
builder.AppendLine(line)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM