Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/56: Рейтинг темы: голосов - 56, средняя оценка - 4.66
FreePVP)))

Количество строк в переменной string

24.06.2011, 19:12. Показов 11896. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Из названия темы,я так думаю,вопрос понятен
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.06.2011, 19:12
Ответы с готовыми решениями:

Максимальное количество символов в переменной типа string
Здравствуйте. Есть приложение, в котором происходит обработка порядка 10-20к символов. В определенный момент весь имеющийся текст...

Присвоить переменной типа string сумму двух других строк
Как это вооплотить? Почему при таком подходе просто зависание String a="Номер группы - "; String c; Cin>>c; String...

Как узнать количество букв в значении переменной типа string?
Здравствуйте. У меня есть 2 вопроса: 1. Как узнать кол-во букв в значении переменной типа string? 2. Как подменить определённые...

8
 Аватар для umnick_kh
311 / 249 / 44
Регистрация: 06.12.2010
Сообщений: 527
24.06.2011, 19:44
Лучший ответ Сообщение было отмечено как решение

Решение

Длина каждой строки фиксированная?

Добавлено через 17 минут
И вообще,что значит кол-во строк в переменной типа string?
string - это и есть строка.Если Вы имеете ввиду string в таком виде:
C#
1
string s = "Hello \n world";
тогда почитать можно так:
C#
1
2
3
            string s = "Hello \n world \n s \n 23 323";
            int k = s.Split('\n').Count();
            label1.Text = k.ToString();
3
 Аватар для AnastasiaSX
53 / 31 / 4
Регистрация: 19.12.2013
Сообщений: 170
14.04.2021, 22:31
Что делать если переменная s очень длинная и вывод будет переменен на несколькок строк?

C#
1
string s = "Это очень длинная срока которая не содержит символов перевода строки, но её все равно напечатяют на 2 или 3 строки т.к. строка очень длинная. Что делать в этом случаи?";
0
 Аватар для JustinTime
964 / 582 / 268
Регистрация: 20.12.2016
Сообщений: 1,506
14.04.2021, 22:55
umnick_kh, а зачем делать Split, можно сразу считать количество символов
C#
1
2
3
string s = "Hello \n world \n s \n 23 323";
int k = s.Count(x => x == '\n');
Console.WriteLine(k);
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
14.04.2021, 23:14
JustinTime, тогда уж
Цитата Сообщение от JustinTime Посмотреть сообщение
Console.WriteLine(k+1);
1
 Аватар для JustinTime
964 / 582 / 268
Регистрация: 20.12.2016
Сообщений: 1,506
15.04.2021, 11:06
AnastasiaSX, если вам нужно знать сколько строк в консоли будет занимать ваша строковая переменная, можно так
C#
1
2
 string s = "Это очень длинная срока которая не содержит символов перевода строки, но её все равно напечатают на 2 или 3 строки т.к. строка очень длинная. Что делать в этом случаи?";
Console.WriteLine(Math.Ceiling(s.Length / (double)Console.WindowWidth));
0
 Аватар для AnastasiaSX
53 / 31 / 4
Регистрация: 19.12.2013
Сообщений: 170
15.04.2021, 19:47
JustinTime, ваш ответ максимально близок к правильному. вот только тут еще нужно учесть что в тексте могут быть символы "\n" и это тогда будет работать по другому. Мне это нужно чтобы понять как выводить ошибки которые генерируются при ошибках которые ловит try{}catch. Очень важно узнать сколько там строк текста нагенерировали.
0
 Аватар для JustinTime
964 / 582 / 268
Регистрация: 20.12.2016
Сообщений: 1,506
17.04.2021, 12:55
AnastasiaSX,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var s = "ваш ответ максимально близок к правильному.\r\n\r\n вот только тут еще нужно учесть что в тексте могут быть символы \"\\n\" и это тогда будет работать по другому.\r\n Мне это нужно чтобы понять как выводить ошибки которые генерируются при ошибках которые ловит try{}catch. Очень важно узнать сколько там строк текста нагенерировали.";
int LinesCount(string text)
{
    var count = 0;
    var a = text.Split(new[] { '\n' });
    foreach (var t in a)
    {
        count += t.Length <= Console.WindowWidth ? 1 : (int)Math.Ceiling(t.Length / (double)Console.WindowWidth);
    }
 
    return count;
}
 
Console.WriteLine(s);
Console.WriteLine(LinesCount(s));
Добавлено через 6 минут
вместо text.Length, можно использовать
C#
1
2
int Length(string txt) => txt.Count(x => !char.IsControl(x));
Console.WriteLine(Length("text\r"));
для исключения скрытых символов. А вот как быть с табами не понятно...
1
 Аватар для AnastasiaSX
53 / 31 / 4
Регистрация: 19.12.2013
Сообщений: 170
18.04.2021, 22:29
Цитата Сообщение от JustinTime Посмотреть сообщение
для исключения скрытых символов. А вот как быть с табами не понятно...
Табы пока в тексте не встречала, и вроде все нормально. Если появятся и будут проблемы тогда и будем думать как решить. Я немного переделала ваш код т.к. если сделать строку четко равную шириге окна тогда получается что выводится такая строка не на одну, а на две строки т.к. Console.WriteLine() в конце еще добавляет символ новой строки, а он не помещается в предыдущую строку и выводится уже на новой.

Спасибо за подсказку, она очень мне помогла.

C#
1
2
3
4
5
6
7
8
9
10
11
 static int LinesCount(string text) // считает число строк в переменной "text" если вывести ее на экран, считаем с учетом ширины окна
        {
            int      Count = 0;
            string[] array = text.Split('\n');
            foreach (var t in array)
            { // decimal Math.Ceiling(decimal d) - Возвращает наименьшее целое число, которое больше или равно заданному десятичному числу. 
                Count += (t.Length < Console.WindowWidth) ? 1 : (int)Math.Ceiling( (t.Length+1) / (double)Console.WindowWidth);
            } // если длина↑ меньше↑ ↑ширине окна тогда всё влазит и вернем 1, иначе длим длину текста + 1 для запаса на ↑ширину окна и округляем в большую сторону
         
            return Count;
        }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.04.2021, 22:29
Помогаю со студенческими работами здесь

Из переменной типа std::string записать в файл большое количество данных (2 Mb)
Нужно записать в файл большое количество данных. Предполагается, что в переменной большое количество строк следовательно `&gt;&gt;` не...

Получить количество строк из переменной
как получить количество строк из переменной типа string ?

Записать текстовый файл в string[] (массив) не зная количество строк.
Требуется записать текстовый файл в string (массив) не зная количество строк. Просто прочитать файл и вывести его, допустим, в...

Ошибка при присвоении argv[1] переменной string. Как конвертировать к типу string?
&quot;call of an object of a class type without appropriate operator() or conversion functions to pointer-to-function type&quot; ...

Перевод слова их переменной string в другую переменную string для вывода ее отдельно от всей строки
У меня есть код, я выполняю задание учителя. В этом задании мне надо ввести кол слов, а также размер слов, которые надо вывести. Проблема...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru