я пытаюсь получить первое слово С# (и прежде чем вы кричите, что этот пост НЕ помог мне), я пробовал разделить, но на всю жизнь не смог заставить его работать.
var s = input.Substring(0, input.IndexOf(' ') - 1);
разделение наверняка тоже должно работать str.Split(' ')[0]
Вы также можете использовать RegEx здесь, если вам не нужны символы, которые не могут быть частью слова. Никаких знаков препинания, цифр и т. д. string input = "Привет! Wie geht es Dir?"; строковый шаблон = @"^\b[\p{L}]+\b"; Match match = Regex.Match(ввод, шаблон); Console.WriteLine(match.Value); Это выведет: Привет
Использование разделения:
var input = "abc def";
string[] arr = input.Split(' ');
Console.WriteLine(arr[0]);
Выход:
азбука
Оптимальный 1:
var input = "abc def";
int startSpace = input.IndexOf(' ') - 1;
if (startSpace > 0) input = input.Substring(0, startSpace);
Console.WriteLine(input);
Выход:
азбука
Оптимальный 2:
ReadOnlySpan<char> input = "abc dev";
int startSpace = input.IndexOf(' ');
ReadOnlySpan<char> substring = input[0..startSpace];
Console.WriteLine(substring.ToString());
Выход:
азбука
теперь это коротко, но это все, что мне нужно