如何用多个分隔符来分隔字符串,而分隔符却包含在数组中? (VB.NET)

时间:2019-01-30 18:26:54

标签: string split vb.net-2010

我有一个字符串:

string = "Hello.world, have a nice day"

是否可以使用点或逗号作为分隔符来分割字符串,但仅将分隔符保留到数组中? (空格是分隔符,但不保留)

['Hello','.','world',',','have','a','nice','day']

最好使用regex.split(delimeter)的哪个分度?

这是我的代码

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim arr As String() = Regex.Split(TextBox1.Text, "[.|\,]") For Each i As String In arr Console.WriteLine(i) Next End Sub

对不起,英语不好

1 个答案:

答案 0 :(得分:1)

如果要用点或逗号分隔,则可以将字符类更新为[.,],因为字符类将与列出的任何字符匹配。

例如,字符类[.|\,]也可以写成[.,|]并注意,您不必转义逗号。

在使用capture group,以保持分隔符。

您最终图案看起来像([.,])

请参见vb.net demo

例如:

Dim s As String = "Hello.world, have a nice day"
Dim arr As String() = Regex.Split(s, "([.,])")
For Each i As String In arr
    Console.WriteLine(i)
Next

结果:

Hello
.
world
,
 have a nice day