Как переносить строки в c
Перейти к содержимому

Как переносить строки в c

  • автор:

 

Перевод строки в консольном приложении (C#)

Насколько я знаю, для перевода строки в Windows используется сочетание управляющих символов \r\n. Но при разработке консольного приложения для этой цели можно обойтись только символом \n. Так, если в программе

\r\n заменить на \n, то вывод от этого не изменится. При этом, например, в элементе управления TextBox, значение свойства Multiline которого равно True, приложения Windows Forms написать \n для перевода строки недостаточно, нужно обязательно писать \r\n. Например, если написать такой код:

, то при нажатии на кнопку buttonOK в поле textBoxOutput никакого переноса не будет. Почему такая разница?

\r\n — стандарт переноса строки в Windows, он со времен MS-DOS не менялся, имеет аббревиатуру CRLF (Carriage Return Line Feed).

\n — стандарт переноса строки в UNIX (Linux, BSD, и т.д.), имеет аббревиатуру LF.

Почему консоль реагирует одинаково на оба варианта — вопрос к разработчикам консоли в Microsoft, но по стандарту гарантированно в Windows должен работать только стандарт CRLF.

Как переносить строки в c

Gray Pipe

Лучший отвечающий

Вопрос

Добрый день. Сдаюсь. Сам не могу справиться.

Есть база там поле nvarchar в нём текст забит мной вручную. В этом тексте для перевода текста на новую строку я поставил \n вот так:

"Проверка привет \n ещё одна"

далее средствами EF я извлекаю этот текст из базы и кладу его в переменную string _basaData.

А далее из этой переменной в Run.Text у Paragraph и никакого переноса нет.

Я заключал \n в кавычки, ставил \\n В базе сам текст заключал в кавычки и убирал их

Пытался применить String.Format(_basaData)

Пытался сделать _basaData.ToString();

В общем мои знания закончились и обращаюсь за помощью к профессионалам.

Суть такая: Делаю шаблоны текста. Т.к. шаблон то разбиение на абзацы и строки могу сделать уже в самой базе. В коде сильно не обрабатывать.

Как переносить строки в c

user avatar

user avatar

user avatar

Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.6.13.42356

StringBuilder builder = new StringBuilder();
builder.AppendLine(«Hallo, the!»).Append(«My name is Alex»):

string str = builder.ToString();

public static class Chars
public static const char Newline = ‘\n’;
public static const char Tab = ‘\t’;
public static const char CarriageReturn = ‘\r’;
public static const char Beep = ‘\b’;
>

Строки. Средства работы со строками

Строка в C# — это массив знаков, объявленный с помощью ключевого слова string. Строковый литерал объявляется с помощью кавычек, как показано в следующем примере.

string s = «Hello, World!»;

Переприсваивание

Строки можно целиком переприсваивать:

string s1 = «Hello»;

string s2 = s1; //переприсваиваем

Объединение строк

Можно объединять строки с помощью оператора +, как показано в следующем примере:

string s1 = «orange»;

Console.WriteLine(s1); // напечатается «orangered»

Escape-знаки

Строки могут содержать escape-знаки, такие как «\n» (новая строка) и «\t» (табуляция). Пример:

string hello = «Hello\nWorld!»;

string s = «чтобы вставить \»кавычки\» в строку используем обратный слэш»;

Если требуется добавить в строку обратную косую черту, перед ней нужно поставить еще одну обратную косую черту. Следующая строка:

string filePath = «\\\\My Documents\\»;

Точные строки: символ @

Символ @ служит для того, чтобы конструктор строк пропускал escape-знаки и переносы строки. Следующие две строки являются идентичными:

string p1 = «\\\\My Documents\\My Files\\»;

string p2 = @»\\My Documents\My Files\»;

Чтобы поставить в точной строке знак двойных кавычек, нужно использовать по два таких знака, как показано в следующем примере:

string s = @»You say «»goodbye»» and I say «»hello»»»;

Доступ к отдельным знакам

Квадратные скобки [] служат для доступа к отдельным знакам в объекте string, но при этом возможен доступ только для чтения:

string str = «test»;

char x = str[2]; // x = ‘s’;

string s5 = «Printing backwards»;

for (int i = 0; i < s5.Length; i++)

Console.Write(s5[s5.Length — i — 1]);

// напечатается «sdrawkcab gnitnirP»

Извлечение подстрок

Для извлечения подстроки из строки используется метод Substring.

string s3 = «Visual C# Express»;

string s4 = s3.Substring(7, 2);

Замена по образцу

Для замены подстроки в строке по образцу используется метод Replace.

string s3 = «Visual C# Express»;

string s5 = s3.Replace(«C#», «Basic»);

// напечатается «Visual Basic Express»

Смена регистра

Чтобы изменить регистр букв в строке (сделать их заглавными или строчными) следует использовать ToUpper() или ToLower(), как показано в следующем примере:

 

string s6 = «АлтГТУ»;

Сравнения

Самый простой способ сравнения двух строк — использовать операторы == и !=, осуществляющие сравнение с учетом регистра:

string color1 = «red»;

string color2 = «green»;

string color3 = «red»;

if (color1 == color3)

if (color1 != color2)

Console.WriteLine(«Строки не равны»);

Не допускается использование >,<,>=,<= для сравнения строк. Для строковых объектов существует метод CompareTo(), возвращающий целочисленное значение, зависящее от того, что одна строка может быть меньше (<), равна (==) или больше другой (>). При сравнении строк используется значение Юникода, при этом значение строчных букв меньше, чем значение заглавных. Дополнительные сведения о правилах сравнения строк см. в разделах CompareTo().

string string1 = «ИИТ»;

string string2 = «Иит»;

int result = string1.CompareTo(string2);

Console.WriteLine(» <0>больше чем <1>«, string1, string2);

else if (result == 0)

Console.WriteLine(» <0>равно <1>«, string1, string2);

else if (result < 0)

Console.WriteLine(» <0>меньше чем <1>«, string1, string2);

// Напечатается ИИТ больше чем Иит

Удаление фрагментов и вставка строк в строки

Может быть выполнена с помощью методов Remove и Insert:

string x = «ZX Spectrum»;

Пустые строки

Пустая строка — это экземпляр объекта String, содержащий 0 знаков. Пустые строки часто используются в различных сценариях программирования, представляя пустое текстовое поле. Для пустых строк можно вызывать методы, потому что такие строки являются допустимыми объектами String. Пустые строки инициализируются следующим образом:

Массивы из строк

Могут быть инициализированы начальными значениями:

//напечатается Алтайский край

Разбиение строк

Следующий пример кода демонстрирует возможность разбора строки при помощи метода String.Split. Работа метода заключается в возврате массива строк, в котором каждый элемент представляет слово. В качестве ввода Split принимает массив символов, определяющих какие символы должны использоваться в качестве разделителей. В этом примере используются пробелы, запятые, точки, двоеточия и табуляция. Массив, содержащий эти разделители, передается в Split, и каждое слово в предложении выводится отдельно при помощи результирующего массива строк.

Пример: разбить предложение на слова

string text = «Шла Саша по шоссе и сосала сушку»;

Console.WriteLine(«Исходный текст: ‘<0>‘», text);

string[] words = text.Split(razdelitel);

Console.WriteLine(» <0>слов в тексте:», words.Length);

foreach (string s in words)

Рисунок 1 — Пример выполнения

В качестве разделителя может выступать массив символов.

string text = «one\ttwo three:four,five six seven»;

Console.WriteLine(«Original text: ‘<0>‘», text);

string[] words = text.Split(delimiterChars);

Console.WriteLine(» <0>words in text:», words.Length);

foreach (string s in words)

Рисунок 2 — Пример выполнения

Пример: Ввести текстовую строку. Напечатать слова, в которых первая буква встречается еще хотя бы раз.

foreach (string word in words)

bool flag = false;

while (i < word.Length & !flag)

if (word[i] == c) flag = true;

if (flag) Console.WriteLine(word);

Рисунок 3 — Пример выполнения

Преобразование строк в другие типы

С помощью объекта Convert:

С помощью метода Parse:

Задачи на обработку строк . Условие вида «дана строка» означает, что пользователем вводится строка с клавиатуры. Осуществить ввод необходимых данных, выполнить реализацию алгоритма, обеспечить вывод полученных результатов. Не допускается использование операторов, прерывающих ход программы (break, goto). Ввод строк, обработка и вывод результатов реализуется отдельными методами .

1 Даны строки S и S0. Проверить, содержится ли строка S0 в строке S. Не использовать стандартные средства для поиска подстрок.

2 Даны строки S и S0. Найти количество вхождений строки S0 в строку S. Не использовать стандартные средства для поиска подстрок.

3 Дана строка S. Разделить строку на отдельные слова не используя стандартные средства для разбиения строк.

4 Дана строка S. Из строки требуется удалить текст, заключенный в фигурные скобки. В строке может быть несколько фрагментов, заключённых в фигурные скобки. Возможно использование вложенных фигурных скобок и, следовательно необходимо, чтобы программа это учитывала.

5 Дана строка S. Найти количество различных букв в ней. Программа должна работать без учёта регистра букв.

6 Дана строка S. Найти количество различных слов в ней. Программа должна работать без учёта регистра букв.

7 Дана строка S. Определить есть ли в строке удвоенные буквы (пара соседствующих одинаковых букв), напечатать слова, содержащие их.

8 Дана строка S (предложение). Найти самое длинное слово в строке не используя стандартные средства для разбиения строк.

9 Дана строка S (предложение). Составить программу, определяющую является ли текст перевёртышем без учёта пробелов.

10 Дана строка. Вывести все слова, у которых первая и последняя буквы одинаковые не используя стандартные средства для разбиения строк.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *