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

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

e о Мастер (1191), на голосовании 9 месяцев назад
Как из одной строки переносить символы в другую строку пока не встретится определённый символ или слово. Пример: есть
 string text = "name = John\n age = 15";
string name = //сюда надо перенести только имя до того как начнется возраст
Голосование за лучший ответ
Абра Кадабра Мастер (2059) 10 месяцев назад
Понимаю, что надо делать покороче, но ты не говорил, поэтому можешь писать цикл и использовать срезы
e оМастер (1191) 10 месяцев назад
Бля, так напиши мне цикл. Я не знаю как по символу прибавлять.
Абра Кадабра Мастер (2059) e о,
Абра КадабраМастер (2059) 10 месяцев назад
Я работаю на питоне, поэтому напишу только алгоритм.
String result = "";
Пишешь цикл for. Cтандартный с i.
Дальше if [буква с индексом i == \]
Дальше пишешь срез
ЪАр Гуру (4808) 10 месяцев назад
Конечно, вот пример кода на 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 оМастер (1191) 10 месяцев назад
Как донейшн алертс. ты с чат гпт взял код, даже табуляцию не додумался сделать
ЪАр Гуру (4808) 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
Денис Денискин Ученик (176) 10 месяцев назад
string text = "name = John\n age = 15";
string name = text.Substring(0,11);
Console.WriteLine(name);

В данном случае мы берём элементы из строки Text от 0 и до 11 элемента, создаём новый объект содержащий эту строку и присваиваем ссылку на этот объект переменной. Если проще то у нас теперь в переменной все как вы просили ?
e оМастер (1191) 10 месяцев назад
Ну это если мы знаем что текст 100% будет такой. А если он меняется?
Денис Денискин Ученик (176) 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 оМастер (1191) 10 месяцев назад
Спс
бабуин гибонович Просветленный (46832) 10 месяцев назад
С помощью 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".
Похожие вопросы