У меня есть имя файла, как показано ниже:

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».

Он не распознает одиночный символ подчеркивания «_».

Есть ли способ использовать это правильно?

0
user8666372 23 Сен 2018 в 01:01

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

1
Andrew Morton 25 Сен 2018 в 15:49