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