如何分割字符串而不是字符?

时间:2018-09-22 22:01:37

标签: vb.net split

我的文件名如下:

sub_fa__hotchkis_type1a__180310__PUO4x4__180813

我想用双下划线“ __”将其分开,并使用以下代码:

        Dim MdlNameArr() As String = Path.GetFileNameWithoutExtension(strProjMdlName).Split(New Char() {"__"}, StringSplitOptions.RemoveEmptyEntries)
        myTool.Label9.Text = MdlNameArr(1).ToString

我希望结果为“ hotchkis_type1a”,但返回“ fa”。

它不能识别单个下划线“ _”。

有什么方法可以正确使用它吗?

1 个答案:

答案 0 :(得分:1)

您需要拆分一个字符串而不是一个字符,因此,如果查看String.Split的可用重载,我们会发现与之最接近的是String.Split(string(), options),它将字符串数组作为分隔符,并要求像这样包含StringSplitOptions

Dim s = "sub_fa__hotchkis_type1a__180310__PUO4x4__180813"
Dim separators() As String = {"__"}
Dim parts = s.Split(separators, StringSplitOptions.None)

If parts.Length >= 2 Then
    Console.WriteLine(parts(1))
Else
    Console.WriteLine("Not enough parts found.")
End If

输出:

  

hotchkis_type1a