我正在参加一个介绍Visual Basic的编程课程,如果你们都非常友好地指出我正确的方向,我需要一些帮助。这是一个挑战任务,我应该自己弄清楚如何做这些事情,但我还没有找到任何相关的东西。
我要做的是让程序计算字符串中的单词数,然后打印这个数字。我在网上看起来无济于事,我还没有学会如何在课堂上做类似的事情。你们都能给我的任何帮助都将不胜感激。我知道你不喜欢家庭作业,但我真的迷失了这个。
答案 0 :(得分:1)
起点,至少在VBA中(和VB有类似的功能,但我不知道你正在使用哪个版本),是使用VBA.Split; e.g。
VBA.Split(s,"")其中s是要拆分的字符串," "分隔符(我们粗略地假设所有单词都用空格分隔)。
此函数返回一个字符串数组。您可以使用UBound和LBound函数来获取数组的大小。 E.g。
Sub test()
Dim s As String
Dim arr() As String
arr = VBA.Split("Hello there", " ")
Debug.Print UBound(arr) - LBound(arr) + 1
End Sub
这将打印2。
快乐的编码!
答案 1 :(得分:1)
好的,我们说你的字符串就像:
string ThisIsYourSentence = "This is some pretty long and annoying sentence, now, isn't it?";
您注意到每个单词之间的间隔为“”。在C#中有一个内置方法,它通过检查一个特殊字符来分隔字符串中的字符串:
对于您的解决方案,您只需要创建一个新数组,每次满足“”字符时,都会填写一个单词。
string[] TheseAreYourWords = ThisIsYourSentence.Split(' ');
P:哦,对不起,我甚至没有看到你的意思是VisualBasic,而不是C#。
答案 2 :(得分:0)
你可以调用这样的函数:
Public Function CountWords(ByVal value As String) As Integer
' Count matches.
Dim collection As MatchCollection = Regex.Matches(value, "\S+")
Return collection.Count
End Function
或用空格字符分割给定的字符串并获取数组的长度。