Как извлечь первые буквы из разных слов в строку в C#

Я хочу извлечь первую букву каждого слова в строке. Я много гуглил и до сих пор без посторонней помощи.
Например,string text = "I Hate Programming";
Желаемый ответ должен быть таким:

IHP

Я знаю, что вы, ребята, очень хорошие, я просто новичок. Благодарю.

3 ответа

Если вы знаете, что вашим разделителем является пробел, вы можете сделать следующее.

string text = "my text here";
string firstLetters = "";

foreach(var part in text.split(' ')){
    firstLetters += part.substring(0,1);
}

По сути, вы разбиваете строку на пробел и берете первую букву, используя подстроку каждого слова.

С небольшим количеством LINQ:

string text = "I Hate Programming";
string firstLetters = 
    String.Join(String.Empty, text.Split(new[] {' '}).Select(word => word.First())) 

Если вы хотите включить символы "нравится" и "как начало слов", просто добавьте их в список символов в вызове Split().

var str = "Dont Hate Programming :D"
var firstLetters = new String(str.Split(' ').Select(x => x[0]).ToArray());
Console.WriteLine(firstLetters); // DHP:
Другие вопросы по тегам