Я получил задание в строке «Алена имеет 2 руки», выберите символ (num), и, если это символ в слове, напишите слово целиком.
Я выписал символы после и до буквы пока он не коснется ни пробела, ни точки, ни первого символа массива, но часть его будет перевернута, и я не уверен, как перевернуть его в этом коде.
Я выбрал "num = 2", поэтому char 'e' так Я хочу вернуть "Алену". Я попробовал это
static void firstWord(String s1, int num)
{
char[] sentence = s1.ToCharArray();
for (int i = 0; i < sentence.Length; i++)
{
Console.Write(sentence[i]);
}
int y = 0;
Console.WriteLine("\n");
for (int s = 0; s < s1.Length; s++)
{
if (sentence[num - y] == ' ' || sentence[num - y] == '.' ||
sentence[num - y] == sentence[0])
{
if (sentence[num - y] == sentence[0])
{
Console.Write(sentence[0]);
s = s1.Length;
}
continue;
}
Console.Write(sentence[num - y]);
y++;
}
int x = 1;
for (int j = 0; j < x; j++)
{
if (sentence[num + x] == ' ' || sentence[num + x] == '.')
{
continue;
}
Console.Write(sentence[num + x]);
x++;
}
}
И вывод «elAna», поэтому мне нужно повернуть «elA» на «Ale», чтобы заставить его работать, но я довольно растерялся. Я думаю, что знаю, как работает реверсивный ход basi c, но не уверен, как его использовать в этом случае. Или, если у вас есть способ сделать это другим способом, у меня нет проблем, чтобы сделать все заново.
Если возможно без регулярных выражений, split и Distinct.
Спасибо!