разделение строки в c # - PullRequest
       1

разделение строки в c #

2 голосов
/ 17 ноября 2010

У меня есть такие строки:

    00123_MassFlow
    0022245_VOlumeFlow
    122_447_Temperature

Я должен разделить эти строки с помощью _, используя C #._ может появляться в нескольких местах, но я должен принять последнее значение.

Мое должно быть таким:

    MassFlow
    VOlumeFlow
    Temperature

Как мне этого добиться?

Ответы [ 2 ]

8 голосов
/ 17 ноября 2010
"122_447_Temperature".Split('_').Last();

Если вы не возражаете против дополнительных затрат на создание массива и удаление нескольких строк. Это будет не так быстро, как использование LastIndexOf и Substring вручную, но это намного проще для чтения и обслуживания, IMO.

4 голосов
/ 17 ноября 2010

Если ваш ввод в одной строке, вы можете использовать string.Split('\n'), чтобы получить его в коллекции:

string input = @"00123_MassFlow
0022245_VOlumeFlow
122_447_Temperature";

var items = input.Split('\n');

В противном случае, я предполагаю, что ваши строки уже находятся в коллекции под названием items. Оттуда вы можете использовать LINQ для выполнения этого легко:

List<string> result = (from x in items
                       let y = x.Trim()
                       select y.Substring(y.LastIndexOf('_') + 1)).ToList();

result будет содержать строки MassFlow, VOlumeFlow и Temperature.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...