我有一长串Hex值,我想把它拆分成 几个字符串。
例如:
str = "313233343536373839"; which is "123456789" in Hexadecimal
我希望结果是这样的:
(如果除以的数字是3,则表示每行包含6 值。)
str = "313233"
str = str + "343536"
str = str + "373839"
依旧......
我已经搜索了一种方法,但是所有内容都使用.Split
,最后需要一个分割符,在这种情况下,它不存在。我怎样才能正确拆分?
答案 0 :(得分:0)
所以你想把字符串 str 分成 numParts 部分吗?定义一个数组:
Dim strArray() As String
然后让您的用户输入部件数量:
Dim numParts As Integer
numParts = Console.readLine()
'you might want to put some validation in there to check it is a number
将数组重命名为part-1的数量(数组从0开始)
ReDim strArray(numParts - 1)
最后,设置for循环以将字符串拆分为多个部分:
For i as Integer = 0 to numParts - 1
strArray(i) = str.Substring(i * Math.Floor(str.Length / numParts), Math.Floor(str.Length / numParts))
Next
这应该有效(虽然我现在无法访问VS,因此未经测试)。如果长度不除以numParts
,它将截断最后的数字暂且不说:不要在这里问作业问题。
答案 1 :(得分:0)
这会做你所要求的
Module Module1
Sub Main()
Dim myHex As Long = &H458D410FD4B204F
Dim myStr As String = myHex.ToString
Dim myDiv As Integer = 3
Dim myPart As Integer = myStr.Length \ myDiv
If myStr.Length > 0 AndAlso myStr.Length Mod myDiv = 0 Then
For i As Integer = 0 To myDiv - 1
Console.WriteLine("str = {1}{0}", myStr.Substring(i * myPart, myPart), If(i > 0, "str + ", ""))
Next
Else
Console.WriteLine("my string {0} length doesn't divide by {1}", myStr, myDiv)
End If
Console.Read()
End Sub
End Module