[英]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.