vb.net计数文本框中所有出现的vbCrLf

问题描述 投票:0回答:1

我有一个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时,我都希望从某个整数中减去33,代码为...]]

< [
您不能检查当前字符是否为vbcrlf,因为CRLF是两个字符。只需检查LF

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 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 someInteger -= 33 End If Next

vb.net counter
1个回答
0
投票
您不能检查当前字符是否为vbcrlf,因为CRLF是两个字符。只需检查LF
© www.soinside.com 2019 - 2024. All rights reserved.