【问题标题】:Counting the number of a specific character in a word?计算单词中特定字符的数量?
【发布时间】:2014-05-27 18:34:50
【问题描述】:

我正在使用 vb6 编程,我需要计算特定字符在字符串中出现的次数。我知道如何在 vb.net 中执行此操作,但 vb6 的方法不一样。这是我尝试过的,

 Dim sletter As String
    Dim icount As Integer

    sletter = InputBox("Enter a letter to count.")
    m_sStringtosearch = TxtString.Text
    For Each element In m_sStringtosearch
        If element = sletter Then
            icount += 1
        End If
    Next

    MessageBox.Show(sletter & " was found " & icount & " times.")

我使用了它的变体,没有输入框(我已经记住了一个字符)并且最后没有messagebox(我将在 if 语句中使用icount 结果) .

【问题讨论】:

  • 问:您遇到了什么问题?你的具体问题是什么?
  • 好吧,你不要说什么没用。我的 VB6 生锈了,我没有将它安装在这里(或任何地方,就此而言)。但我不记得它有一个 += 运算符。我认为 icount 被初始化为零,但我不确定。
  • 我不确定如何在 vb6 中使用 for each 语句,因为它给了我一个错误,说“元素”没有被声明。 for each 语句不像在 vb.net 中那样工作,所以我的问题是如何在 vb6 中使用 for each 语句或如何以另一种方式计算特定字符
  • VB6 中没有有效的方法来遍历字符串的字符

标签: vb6 character counting


【解决方案1】:

我的 VB6 生锈了。这是未经测试的。但是,这应该很接近。 VB 6 没有 For Each 或 += (我相信)。出于偏执,我还将 icount 初始化为 0,尽管我相信这是 VB6 为您做的事情。

Dim sletter As String
Dim icount As Integer
Dim i as Integer
Dim element as String

sletter = InputBox("Enter a letter to count.")

m_sStringtosearch = TxtString.Text
icount = 0

For i = 1 to Len(m_sStringtosearch)
    element = Mid$(m_sStringtosearch, 1, 1)
    If element = sletter Then
        icount = icount + 1
    End If
Next

MessageBox.Show(sletter & " was found " & icount & " times.")

【讨论】:

  • 是的,这很好用,我将其修改为不需要输入框,但是因为我已经有了一个不变的字符。谢谢!
【解决方案2】:

试试这个替代解决方案

icount = (Len(m_sStringtosearch) - Len(Replace(m_sStringtosearch, sletter, vbNullstring))) \ Len(sletter)

【讨论】:

    【解决方案3】:
    Dim i As Long
    Dim iCount As Long
    
    For i = 1 To Len(m_sStringtosearch)
        If LCase(Mid(m_sStringtosearch, i, 1)) = TxtString.Text Then iCount = iCount + 1
    Next
    

    【讨论】:

    • 请避免仅使用代码回答,系统会将其标记为低质量帖子并要求管理员验证
    猜你喜欢
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    相关资源
    最近更新 更多