Как можно извлечь часть строки, разделенную пробелами?

#c# #c -cli

#c# #c -cli

Вопрос:

Если у меня есть строка, подобная:

 String^ str ="hhB2LWq50a 9HZiNLKuwdQ==.pdf aaaaaaaa bbbbbbbbb cccccdddddeee ffffffgggghhh";
  

и я хочу извлечь первую ее часть, которая

hhB2LWq50a 9HZiNLKuwdQ==.pdf

Как это можно сделать на C / CLI или C #?

Ответ №1:

Вы можете использовать String .Метод Split()

 string str ="hhB2LWq50a 9HZiNLKuwdQ==.pdf aaaaaaaa bbbbbbbbb cccccdddddeee";
string[] parts = str.Split(' ');
if (parts != null)
{
   string firstPart = parts[0];
}
  

Или с помощью LINQ First():

 using System.Linq;

string firstPart = str.Split(' ').First();
  

Ответ №2:

Используется string.IndexOf для поиска первого пробела, а затем string.Substring для копирования:

 string str ="hhB2LWq50a 9HZiNLKuwdQ==.pdf aaaaaaaa bbbbbbbbb cccccdddddeee";
int spacePos = str.IndexOf(' ');
if (spacePos == -1)
    return null;
else
    return str.Substring(0, spacePos);
  

Предполагается, что в строке нет начальных пробелов. Если в нем могут быть начальные пробелы, вам, вероятно, следует сначала вызвать Trim его.

Ответ №3:

в C # это так просто

 string tem = "test test";
string[] s = tem.Split(' ');
Console.WriteLine(s[0]);
Console.ReadLine();
  

Ответ №4:

вы можете использовать регулярное выражение для анализа вашей строки и извлечения желаемого текста