你如何解析vb6中的字符串?

时间:2009-11-25 15:44:01

标签: vb6

我们中的一些人遗憾地仍然支持像VB6这样的传统应用。我忘记了如何解析字符串。

给出一个字符串:

Dim mystring As String = "1234567890"

如何在每个字符中循环VB6并执行类似

的操作
   for each character in mystring
      debug.print character
   next

在C#中我会做类似

的事情
 char[] myChars = mystring.ToCharArray();
 foreach (char c in theChars)
 {
    //do something with c
 }

有什么想法吗?

非常感谢

4 个答案:

答案 0 :(得分:9)

您可以使用“中间”功能来获取单个字符:

Dim i As Integer
For i = 1 To Len(mystring)
    Print Mid$(mystring, i, 1)
Next

请注意,这是未经测试的。

答案 1 :(得分:2)

没有可能在字符串上使用foreach。

使用

Dim i As Integer

For i = 1 To Len(YourString)
    Result = Mid$(YourString, i, 1)
Next

请注意Result的类型是长度为1的字符串,没有字符或字节类型。

如果性能很重要,则必须将字符串转换为bytearray(使用StrConv),然后像这样循环。

Dim i As Long
For i = 0 To UBound(Data)
    Result = Data(i) ' Type is Byte '
Next

效率更高。

答案 2 :(得分:1)

最简单的方法是将字符串转换为字节数组并迭代字节数组(将每个字节转换为字符)。

Dim str As String
Dim bytArray() As Byte
Dim count As Integer

str = "This is a string."
bytArray = str

For count = 0 To UBound(bytArray)
    Debug.Print Chr(bytArray(count))
Next

答案 3 :(得分:1)

不要循环;相反,设置对Microsoft VBScript正则表达式库的引用,并使用正则表达式来实现“做某事”的目标。