Получить в виде строки часть строки из текста - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть несколько строк файла, и я должен получить из него в виде строки только первые символы.Текст:

...
(spaces) UWORD (spaces) /* data */

(spaces) UBYTE (spaces) /* data */
....

Мне нужно получить «UWORD» и «UBYTE», и еще больше, из всех строк без пробелов или / * data * /

while ((line = Readed.ReadLine()) != null)
{
    if (line.Contains("data") )
    {
             // DO WHAT? 
    }
}

1 Ответ

0 голосов
/ 13 сентября 2018

Вы можете использовать эту Split перегрузку с StringSplitOptions.RemoveEmptyEntries.Это будет:

Разбивает строку на подстроки на основе строк в массиве.

в этом случае разбить строку на пробелы.Теперь вам нужно взять только первый элемент:

string input = @"   UWORD     /* data */ ";
string value = input.Split(new string[] {" "}, StringSplitOptions.RemoveEmptyEntries).First();

РЕДАКТИРОВАТЬ: похоже, вы сканируете код и получаете имена типов данных.В этом случае у вас могут быть не только пробелы, но и вкладки.Если это так, просто включите также вкладки в строковый массив, который содержит разделители:

string value = input.Split(new string[] {" ", "\t"}, StringSplitOptions.RemoveEmptyEntries).First();

По-видимому, также возможно перехватить все пробельные символы .Вот хитрость, чтобы сделать это:

string value = input.Split(new char[0], StringSplitOptions.RemoveEmptyEntries).First();
...