我有一个TextBox,我试图计算所有出现的vbCrLf
。
计数正在起作用,问题是每次发布vbCrLf
时我想从某个整数中减去33。
现在编写的代码仅减去vbCrLf
的数字,而不减去数字+ 33。
问题是每次按下Enter键并发出vbCrLf时如何减去33?]] >> 下面的代码是借口,我已尝试了更多SO帖子,而不是我愿意承认的所有注释掉的代码:
Private Sub tbHaveOne_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbHaveOne.TextChanged Dim spaceCount As Integer Dim lettercount As Integer Dim carreturn As Integer spaceCount = 0 lettercount = 0 carreturn = 0 Dim s As String = tbHaveOne.Text For Each c As Char In s If c = " " Then spaceCount += 1 Else lettercount += 1 End If Next 'Dim j As Integer = s.Count(Function(c As Char) c = vbCrLf) 'j = j + 33 For Each cr As Char In tbHaveOne.Text Static rex As New System.Text.RegularExpressions.Regex(vbCrLf, System.Text.RegularExpressions.RegexOptions.Compiled Or System.Text.RegularExpressions.RegexOptions.Multiline) carreturn = (rex.Matches(tbHaveOne.Text).Count).ToString() carT = carreturn + 33 Next 'For Each cr As Char In s ' If cr(vbCrLf) Then ' carreturn += 1 ' 'carT = carreturn + 33 ' End If 'Next 'total = cD - ((lettercount + spaceCount) - carT) total = cD - lettercount total = total - spaceCount total = total - carT 'total = total - j tbHaveTwo.Text = "SC " & spaceCount & " " & "LC " & lettercount & " CR " & carreturn & " T " & total 'Static rex As New System.Text.RegularExpressions.Regex("\b", System.Text.RegularExpressions.RegexOptions.Compiled Or System.Text.RegularExpressions.RegexOptions.Multiline) 'tbHaveTwo.Text = (rex.Matches(tbHaveOne.Text).Count / 2).ToString() End Sub
我有一个TextBox,我试图计算所有出现的vbCrLf。计数工作正常,问题是每次发出vbCrLf时,我想从某个Integer中减去33。代码...
您不能检查当前字符是否为vbcrlf,因为CRLF是两个字符。只需检查LF,这样一来,如果您曾经在unix系统准备的文件上使用逻辑,它仍然可以工作(unix具有LF,Windows具有CRLF)
Private Sub tbHaveOne_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbHaveOne.TextChanged
Dim spaceCount = 0
Dim letterCount = 0
Dim lineCount = 0
For Each c As Char In tbHaveOne.Text
If Char.IsWhitespace(c) Then
spaceCount += 1
Else If Char.IsLetterOrNumber(c)
letterCount += 1
Else If c = vbLf
lineCount += 1
End If
Next c
someInteger -= (lineCount * 33)
TextBox.Lines.Count
返回用换行符分隔的行数(当您按Enter