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

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

02.04.2011, 17:58. Показов 4060. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть текст, например:
"АвтомОбиЛЬ врезАЛСЯ в столб. ДругойАвтоМОБИЛЬ вреЗался в этотАВтомобиль."

Подкиньте, плиз идею, как превратить этот текст в вот такой:
"автомобиль врезАЛСЯ в столб. Другойавтомабиль вреЗался в этотавтомобиль."

То есть подстрока "автомобиль" везде без учета регистра была переведена в нижний регистр.
Ну такая функция есть во многих тектсовых редакторав вообщем то, а мне нужно реализовать ее программно.

Спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.04.2011, 17:58
Ответы с готовыми решениями:

Найти подстроку в строке без учета регистра
Подскажите как найти подстроку в строке без учета регистра, а также без regex? Необходимо также иметь возможность искать после...

Все гласные перевести в нижний регистр
Доброго времени! Задача: Дана строка (произвольная): "AAABEDDDD" 2) Все гласные перевести в нижний регистр Для первой...

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

5
 Аватар для igorrr37
2881 / 2028 / 992
Регистрация: 21.12.2010
Сообщений: 3,780
Записей в блоге: 9
02.04.2011, 21:25
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
#include<windows.h>
#include<string>
 
bool IsMatch(char* p){
    for(char* pat="автомобиль"; *pat; ++pat, ++p){
        if(*p!=*pat&&*p!=*pat-32) return false;
    }
    return true;
}
 
int main(){
    std::string text="АвтомОбиЛЬ врезАЛСЯ в столб. ДругойАвтоМОБИЛЬ вреЗался в этотАВтомобиль.", repl="автомобиль";
    for(std::string::size_type ind=0; (ind=text.find('А', ind))!=std::string::npos; ++ind){
        if(IsMatch(&text[ind])){
            text.replace(ind, repl.size(), repl);
        }
    }
    CharToOem(&text[0], &text[0]);
    std::cout<<text<<"\n";
}
1
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 16
02.04.2011, 21:30  [ТС]
Да, спасибо большое, igorrr37!
Но походу я тут немножко заблудился на форуме, моя среда C#...
Переместите тему, пожалуйста.
0
 Аватар для dzjundzja88
289 / 234 / 32
Регистрация: 09.02.2011
Сообщений: 435
02.04.2011, 23:25
C#
1
2
3
4
5
6
7
        static void Main(string[] args)
        {
            string str = "АвтомОбиЛЬ врезАЛСЯ в столб. ДругойАвтоМОБИЛЬ вреЗался в этотАВтомобиль.";
            str = str.ToLower();
            Console.WriteLine(str);
            Console.ReadKey();
        }
В верхний будет так
C#
1
2
3
4
5
6
7
        static void Main(string[] args)
        {
            string str = "АвтомОбиЛЬ врезАЛСЯ в столб. ДругойАвтоМОБИЛЬ вреЗался в этотАВтомобиль.";
            str = str.ToUpper();
            Console.WriteLine(str);
            Console.ReadKey();
        }
0
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 16
02.04.2011, 23:28  [ТС]
Цитата Сообщение от dzjundzja88 Посмотреть сообщение
C#
1
2
3
4
5
6
7
        static void Main(string[] args)
        {
            string str = "АвтомОбиЛЬ врезАЛСЯ в столб. ДругойАвтоМОБИЛЬ вреЗался в этотАВтомобиль.";
            str = str.ToLower();
            Console.WriteLine(str);
            Console.ReadKey();
        }
В верхний будет так
C#
1
2
3
4
5
6
7
        static void Main(string[] args)
        {
            string str = "АвтомОбиЛЬ врезАЛСЯ в столб. ДругойАвтоМОБИЛЬ вреЗался в этотАВтомобиль.";
            str = str.ToUpper();
            Console.WriteLine(str);
            Console.ReadKey();
        }
Это я знаю. Но надо перевести именно подсторку, а не всю строку.
0
 Аватар для dzjundzja88
289 / 234 / 32
Регистрация: 09.02.2011
Сообщений: 435
03.04.2011, 11:36
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            int find_index;
            string dano = "АвтомОбиЛЬ врезАЛСЯ в столб. ДругойАвтоМОБИЛЬ вреЗался в этотАВтомобиль.";
            string find = "автомобиль";
            string str="",str1="",res="";
            str = dano;
            str1 = str.ToLower();
            do
            {
                 find_index = str1.IndexOf(find);
                 if (find_index != -1)
                 {
                     res += str.Substring(0, find_index);
                     res += find;
                     str1 = str1.Remove(0, find_index + 10);
                     str = str.Remove(0, find_index + 10);
                 }
                 else
                 {
                     res += str1;
                 }
            }
            while (find_index!=-1);
            Console.WriteLine("Начальная строка:\n {0}\n",dano);
            Console.WriteLine("После обработки:\n {0}\n", res);
            Console.ReadKey();
        }
    }
}
Может и не лучший способ реализации, но работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.04.2011, 11:36
Помогаю со студенческими работами здесь

Функция strlwr не может перевести в слово в нижний регистр
Я вставил в программу данную функцию, чтобы не указывать постоянное в условии разные варианты ввода данных с клавиатуры. Но компилятор не...

Как перевести первую букву в слове в нижний регистр?
как перевести первую букву в слове в нижний регистр, а последнюю в верхний и вывести слово на экран?

Перевести первую букву всех слов в строке в нижний регистр
Здравствуйте! Задача: перевести первую букву всех слов в строке в нижний регистр. Есть метод перевода, но при запуске метода...

Все заглавные буквы строки нужно перевести в нижний регистр
Нужно составить функцию, принимающую аргумент типа string и проводящую над ним некоторые действия: во-первых, все заглавные буквы нужно...

Разбить строку на массив строк и перевести их все в нижний регистр
Подскажите пожалуйста, правильно ли выполнено задание Само задание Дана строка, которая содержит имена пользователей, разделенные...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
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