变量数据类型是字符串.it包含大于300个字符的字符串值。我想将该字符串拆分为150个字符,并使用vb.net
存储在字符串数组中我的代码:
msg = t1("fld_msg")
msg1 = msg.Length
For i = 0 To msg.Length - 1
strarr = msg.Substring(0, 150)
Next
错误:
value of type string cant be converted into one dimensional array
答案 0 :(得分:1)
Substring返回类型为string
的值。
您正在尝试将结果放入数组中。
尝试: -
strarr(0) = msg.Substring(0,150)
strarr(1) = msg.Substring(150)
答案 1 :(得分:1)
你需要一个计数器来增加数组中的单元格
msg = t1("fld_msg")
msg1 = msg.Length
dim Counter as Integer = 0
For i = 0 To msg.Length - 1 Step 150
strarr(Counter) = msg.Substring(i, 150)
Counter += 1
Next
答案 2 :(得分:0)
代码中的必要更正是将子字符串值分配给an index of array
“strarr(i)”而不是to an array
“strarr”。同样采用像(0,XX)
这样的子字符串是不正确的。每次从索引0返回一个子字符串时,请改用(i*NumberOfCharactersToInclude,XX)
。但这里'XX'也很重要。
例如,
如果字符串有311个字符且XX固定为150,则会导致第三个子字符串出错。所以我建议你选择这个:(假设框架是3.5或以上)
For i As Integer = 0 To len ' len represents possible no. of substrings
strarr(i) = New String(msg.Skip(i * 150).Take(150).ToArray)
Next