Как извлечь первые буквы из разных слов в строку в 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: