Добавление в строку экранирующего символа '\' перед каждой кавычкой в строке - C#
Формулировка задачи:
Помогите пожалуйста!)
Нужно написать класс StringFormatter с методом string SafeString( string s ), который во входной строке экранирует все одинарные и двойные кавычки (добавляет перед ними символ ‘\’)
мои старания не особо увенчались успехом
не пойму почему не работает вставка символа в нулевую позицию
и как правильно задать условие
так как на if(s[0]=='"' || s[0]== ''') <- компилятор ругается
класс рабочий
кавычки берет
вот только не обрабатывает кавычку в начале
и как с одинарной кавычкой в условии быть не знаю
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; // public class StringFormatter { private string s; public void SetString(string str) { s = str; } public string SafeString() { if(s[0]=='"') { s.Insert(0,"\\"); } for (int i = 1; i < s.Length ; i++) { if (s[i] == '"') { s = s.Insert(i, "\\"); i++; } } return s; } }
Решение задачи: «Добавление в строку экранирующего символа '\' перед каждой кавычкой в строке»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Task_CyberForum_2 { public class StringFormatter { private string _s; public string S { get { return _s; } set { _s = value; } } public string SafeString() { // поиск нужно начинать с 0 значения в строке for (int i = 0; i < _s.Length; i++) { // вот так указать проверку на " и ' if (_s[i] == '"' || _s[i] == '\'') { _s = _s.Insert(i, "\\"); i++; } } return _s; } } class Program { static void Main(string[] args) { StringFormatter testString = new StringFormatter(); testString.S = Console.ReadLine(); Console.WriteLine(testString.SafeString()); Console.ReadLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д