Страницы

Поиск по вопросам

пятница, 22 марта 2019 г.

Как вытащить конкретный кусок из строки

Есть строка с именем файла(например string filename= FI_FILE1_111_1111). Как мне вытащить его префикс до второго нижнего подчеркивания(FI_FILE1_)??
Как нибудь наверное через substring и string.indexOf(но если привязаться к "_" то он возьмет только первую часть), либо через Regex


Ответ

Ну например так:
var s = "FI_FILE1_111_1111"; var firstIndex = s.IndexOf('_'); var secondIndex = s.IndexOf('_', firstIndex + 1); var part = s.Substring(0, secondIndex + 1);
При отсутствии нужного количества _ выдаст пустую строку.
Менее эффективно, но короче:
var part = string.Concat(s.Split('_').Take(2).Select(p => p + "_"));
При отсутствии нужного количества _ выдаст пустую строку.

Комментариев нет:

Отправить комментарий