【问题标题】:Count the number of occurrences of a char in a string? [duplicate]计算字符串中字符的出现次数? [复制]
【发布时间】:2012-03-30 07:40:50
【问题描述】:

可能重复:
Count specific character occurances in string

我必须验证字符串中的分隔符。我如何计算该字符的出现次数。现在我有一个下一个功能。

Private Shared Function CountChars(ByVal value As String) As Integer
    Dim count = 0
    For Each c As Char In value
        If c = "$"c Then
            count += 1
        End If
    Next
    Return count
End Function

任何看起来更好的替代解决方案?

【问题讨论】:

标签: .net vb.net


【解决方案1】:

或者你可以使用 LINQ..

Private Function CountChars(ByVal value As String) As Integer

    Return value.ToCharArray().Count(Function(c) c = "$"c)

End Function

正如 Meta-Knight 所指出的,它可以缩短为:

value.Count(Function(c) c = "$"c)

【讨论】:

  • 不错的答案,但您可以删除不需要的.ToCharArray()
  • 我认为甚至不需要 CountChars 函数,因为代码太短了。你可以直接调用 Count 方法。
  • 我更喜欢...Value.Split("$"c).Length-1
  • 我怀疑我的方法在内存/性能方面会更好,因为您的方法将为“$”的每个实例创建一个新字符串,而我的方法只是计算现有 char 数组中的实例。
【解决方案2】:

我能想到的最简单、最通用的方法:

Private Shared Function CountChars(ByVal value As String, Byval delim as String) As Integer

    Return Len(value) - Len(Replace(value, delim, ""))

End Function

【讨论】:

    【解决方案3】:

    您可以通过另一种方式检查出现次数。请看下面的代码,如果你觉得它更好,你可以使用它。

        Dim Occurrences As Integer
        Dim Start As Integer
        Dim Found As Integer
        Do
            Start = Found + 1
            Found = InStr(Start, "ENTERTAINMENT", "E")
            If Found = 0 Then Exit Do
            Occurrences += 1
        Loop
    

    【讨论】:

      猜你喜欢
      • 2012-05-31
      • 2014-04-24
      • 2011-03-02
      • 2016-06-21
      • 2020-02-21
      • 2012-02-12
      相关资源
      最近更新 更多