如何在vb.net中拆分?

时间:2014-03-15 10:48:09

标签: vb.net

有没有办法在文本框中拆分然后加入字符串?

示例:

我有一个名为Textbox1的文本框,其值为"001-2012-0116"然后我想将其拆分(" - ")然后加入生成的3个字符串

然后结果将变为"00120120116"

然后我想得到结果并将其放在数据类型为字符串的resultNumber中。

总结一下:

Textbox1(Value) = "001-2012-0116"

Dim resultNumber as String

resultNumber(Value) = "00120120116"

4 个答案:

答案 0 :(得分:3)

正如其他人所说,分裂并不是这种情况下最好的方法。分割后你需要使用String.Join()来获得预期的结果:

Dim resultNumber = String.Join("", "001-2012-0116".Split("-"))

所以这是一种双重工作。简单地用空字符串替换短划线(-):

Dim resultNumber = "001-2012-0116".Replace("-", "");

答案 1 :(得分:0)

您希望在这种情况下使用String.Replace()

resultNumber = Textbox1.Value.ToString().Replace("-", String.Empty)

显然,这会将所有内容保留为String,但如果您想将字符串用作数字(因为它们是数字),那么您需要将其转换为Integer

如果你想将值拆分成一个字符串数组,那么你可以使用以下内容,但是你并不是真的想要这个结果,但是你问到了拆分字符串......

Dim result As String() = words.Split("-")

答案 2 :(得分:0)

你可以尝试这种方法作为灵感:

Sub Main
Dim txt as String
Dim intVal as Int64
txt =  "001-2012-0116"

If(Int64.TryParse(txt.Replace("-",""), intVal))
Console.WriteLine(intVal)
End If

End Sub

答案 3 :(得分:0)

我知道这已经得到了解答,但有时我更喜欢使用RegularExpression类。

在你的情况下,这是如何实现的......

 Imports System.Text.RegularExpressions 'Need to import the namespace

 Dim resultNumber As String =  Regex.Replace(TextBox1.Text, "-", String.Empty) 'Do a simple replace on "-" 

另一方面,您在单个字符串上进行简单替换,因此您接受的答案在这种情况下更合适。在处理模式等时,我认为正则表达式很棒。