拆分文本框内容VB2008

时间:2014-06-27 18:02:41

标签: vb.net

我在VB中将一个文本框的内容拆分为其他文本框,我正在使用一个空格作为拆分发生的地方。由于原始文本可以有不同数量的空格,但我知道最大值为8,VB是否有办法忽略额外的拆分命令而不是显示为错误?

感谢。

代码:

Dim strA1 As String = TrackABox.Text
Dim splitA1 As String() = strA1.Split(" ")
A1.Text = splitA1(0).ToString()
A2.Text = splitA1(1).ToString()
A3.Text = splitA1(2).ToString()
A4.Text = splitA1(3).ToString()
A5.Text = splitA1(4).ToString()
A6.Text = splitA1(5).ToString()
A7.Text = splitA1(6).ToString()
A8.Text = splitA1(7).ToString()

在某些情况下,可能不需要拆分6和7。

3 个答案:

答案 0 :(得分:1)

String.Split方法已经采用参数来限制项目数

Public Function Split ( _
   separator As Char(), _
   count As Integer _
) As String()


If (splitA1.Length >= 8) Then A8.Text = splitA1(7)

答案 1 :(得分:1)

准备一个文本框数组,然后使用一个循环来获得分割结果中存在的项目数

Dim strA1 As String = TrackABox.Text
Dim splitA1 As String() = strA1.Split(" ")
Dim ctrlText As TextBox() = new TextBox(){A1, A2, A3, A4, A5, A6, A7,A8}
For x as Integer = 0 to splitA1.Length - 1
    ctrlText(x).Text = splitA1(x)
Next

通过这种方式,splitA1数组上的循环用于在当前循环位置提取字符串,并将其分配给TextBoxes数组的相应Text属性。

还要考虑没有检查splitA1数组的长度,因为你说它可能有8个或更少的元素,文本框数组总是足够大以包含分裂的子串。您可以添加一个关于此的检查或(如另一个答案中所述)使用Split函数重载将结果数组限制为8个元素。 Split(" ", 8)

答案 2 :(得分:0)

您可以在拆分字符串时排除空/空白项目,只需使用正确的Split方法重载。

Dim StringParts As String() =
    "This     is a             too white-spaced string".
    Split({" "c}, StringSplitOptions.RemoveEmptyEntries)

For Each Part As String In StringParts
    MessageBox.Show(String.Format("""{0}""", Part))
Next Part

输出:

"This"
"is"
"a"
"too"
"white-spaced"
"string"