Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2016, 16:28   #1
Лакира
Пользователь
 
Регистрация: 17.11.2016
Сообщений: 28
По умолчанию C#. Работа со строками.

Нужно заменить введенное слово в строке на заданное .Проблема : заменяется только 1 слово. Например, "са сама са" заменяет на "го сама са", нужно "го сама го".Как исправить?


Код:
public void GetWord(string s2, string s3)
        {
           
            char[] a = s.ToCharArray();
                for (int i = 0; i + s2.Length <= s.Length; i++)
                {
                    string t = s.Substring(i, s2.ToLower().Length).ToLower();
                    
                    if (s2.Equals(t) && (i == 0 || !char.IsLetter(a[i - 1])) && (!char.IsLetter(a[i + s2.Length])))
                    {
                       s=s.Remove(i, s2.Length).Insert(i, s3);
                        
                    }
                }
            Console.Write(s);
            
        }
Лакира вне форума Ответить с цитированием
Старый 11.12.2016, 18:23   #2
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Завернуть первый цикл в еще один, который будет выполняться до тех пор, пока есть нужная подстрока, например.
Son Of Pain вне форума Ответить с цитированием
Старый 11.12.2016, 22:02   #3
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

если разделитель слов пробел
Код:
            string stringInput = "са сама са";
            string strFrom = "са";
            string srtTo = "га";
            stringInput = " " + stringInput + " ";
            stringInput = stringInput.Replace(" "+strFrom+" "," "+srtTo+" ").Trim();
            Console.WriteLine(stringInput);
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками, C++ Killspamers Помощь студентам 16 29.01.2012 17:52
C++(Работа со строками) MJBuster Visual C++ 4 11.01.2012 23:02
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
работа со строками buba3230 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 02.06.2009 22:18
Работа с строками Fellics{новичок} Общие вопросы Delphi 5 28.05.2009 18:03