首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否将字符串拆分成字符数组?

是否将字符串拆分成字符数组?
EN

Stack Overflow用户
提问于 2012-11-02 20:48:57
回答 7查看 122.8K关注 0票数 34

如何将VBA字符串拆分成字符数组?

我尝试过Split(my_string, ""),但这不起作用。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-11-02 20:58:40

最安全最简单的就是循环;

代码语言:javascript
复制
Dim buff() As String
ReDim buff(Len(my_string) - 1)
For i = 1 To Len(my_string)
    buff(i - 1) = Mid$(my_string, i, 1)
Next

如果你保证只使用ansi字符,你可以;

代码语言:javascript
复制
Dim buff() As String
buff = Split(StrConv(my_string, vbUnicode), Chr$(0))
ReDim Preserve buff(UBound(buff) - 1)
票数 51
EN

Stack Overflow用户

发布于 2012-11-02 22:10:06

您可以将字符串分配给一个字节数组(反之也是可能的)。结果是每个字符对应2个数字,因此Xmas转换为包含{88,0,109,0,97,0,115,0}的字节数组

或者,您可以使用StrConv

代码语言:javascript
复制
Dim bytes() as Byte
bytes = StrConv("Xmas", vbFromUnicode)

这将给你{88,109,97,115},但在这种情况下,你不能将字节数组分配回一个字符串。

可以使用Chr()函数将字节数组中的数字转换回字符

票数 16
EN

Stack Overflow用户

发布于 2012-11-02 20:58:15

这是在VBA中实现的另一种方法。

代码语言:javascript
复制
Function ConvertToArray(ByVal value As String)
    value = StrConv(value, vbUnicode)
    ConvertToArray = Split(Left(value, Len(value) - 1), vbNullChar)
End Function
Sub example()
    Dim originalString As String
    originalString = "hi there"
    Dim myArray() As String
    myArray = ConvertToArray(originalString)
End Sub
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13195583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档