Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Подскажите с кодом на с#

e о Мастер (1366), на голосовании 12 месяцев назад
Как из одной строки переносить символы в другую строку пока не встретится определённый символ или слово. Пример: есть
 string text = "name = John\n age = 15";
string name = //сюда надо перенести только имя до того как начнется возраст
Голосование за лучший ответ
Абра Кадабра Мастер (2084) 1 год назад
Понимаю, что надо делать покороче, но ты не говорил, поэтому можешь писать цикл и использовать срезы
e оМастер (1366) 1 год назад
Бля, так напиши мне цикл. Я не знаю как по символу прибавлять.
Абра Кадабра Мастер (2084) e о,
Абра КадабраМастер (2084) 1 год назад
Я работаю на питоне, поэтому напишу только алгоритм.
String result = "";
Пишешь цикл for. Cтандартный с i.
Дальше if [буква с индексом i == \]
Дальше пишешь срез
ЪАр Гуру (4935) 1 год назад
Конечно, вот пример кода на C#, который передвигает символы из одной строки в другую до тех пор, пока не встретится определенный символ или слово:

```csharp
string text = "name = John\n age = 15";
string name = "";

foreach (char c in text)
{
if (c == '=')
{
break; // останавливаем цикл если встречается символ "="
}
name += c;
}

Console.WriteLine(name.Trim());
```

В этом примере мы используем цикл `foreach` для просмотра каждого символа в строке `text`. Если символ равен "=", мы останавливаем цикл и выводим значение `name`. Метод `Trim` удаляет лишние пробелы из результирующей строки.

ஜ═══════════════════════════════════════════════════════ஜ
если помог https://www.donationalerts.com/r/rxf360
e оМастер (1366) 1 год назад
Как донейшн алертс. ты с чат гпт взял код, даже табуляцию не додумался сделать
ЪАр Гуру (4935) e о, Да, конечно! Вы можете использовать табуляцию для удобства. Вот пример с табуляцией: ```csharp string text = "name = John\n age = 15"; string name = ""; foreach (char c in text) { if (c == '=') { break; // останавливаем цикл если встречается символ "=" } name += c; } Console.WriteLine(name.Trim()); ``` Табуляция в данном случае просто служит для удобства чтения кода и не влияет на его выполнение. ஜ═══════════════════════════════════════════════════════ஜ если помог https://www.donationalerts.com/r/rxf360
Денис Денискин Ученик (188) 1 год назад
string text = "name = John\n age = 15";
string name = text.Substring(0,11);
Console.WriteLine(name);

В данном случае мы берём элементы из строки Text от 0 и до 11 элемента, создаём новый объект содержащий эту строку и присваиваем ссылку на этот объект переменной. Если проще то у нас теперь в переменной все как вы просили ?
e оМастер (1366) 1 год назад
Ну это если мы знаем что текст 100% будет такой. А если он меняется?
Денис Денискин Ученик (188) e о, string text = "name = John\n age = 15"; string[]mass = text.Split('\n'); string name = mass[0]; Console.WriteLine(name); Ну тут мы разбиваем строку до спец символа \n, у нас теперь 2 строки, это Джон и возраст. И в массив string мы под 0 индекс помещаем имя, под 1 возраст. А дальше создаём переменную, в которую запишем 0 элемент, т.е имя Джон. Длина имени влиять не будет, главное есть спец символ, который нам помогает разбить на 2 строки
e оМастер (1366) 1 год назад
Спс
бабуин гибонович Оракул (51594) 1 год назад
С помощью C# можно достичь этого с использованием метода `Substring` и `IndexOf`. Ниже приведен пример кода, который иллюстрирует, как можно решить вашу задачу:

```csharp
 string text = "name = John\n age = 15"; 
string name;

int startIndex = text.IndexOf("name = ") + "name = ".Length; // находим начальный индекс имени
int endIndex = text.IndexOf("\n", startIndex); // находим индекс символа переноса строки

if (endIndex != -1) // проверяем, был ли найден символ переноса строки
{
name = text.Substring(startIndex, endIndex - startIndex); // получаем имя, ограничивая строку между начальным и конечным индексами
}
else
{
name = text.Substring(startIndex); // если символ переноса строки не найден, то берем имя до конца строки
}

Console.WriteLine(name); // выводим имя

```

В результате выполнения этого кода будет выведено значение "John".
Похожие вопросы