Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 21.12.2014
Сообщений: 5
.NET 4.x

В слове, начинающемся со строчной буквы, исправить первую букву на заглавную

21.12.2014, 23:03. Показов 2935. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать так, чтобы прога на Си-шарп в слове, начинающемся со строчной буквы, сначала исправляла первую букву на заглавную, а после все заглавные буквы в этом слове - на строчные? Результат должен отображаться в тексбокс.


Пример: "пРИвет" - "Привет".

Вот начало проги:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
string str = File.ReadAllText(pathBox.Text,Encoding.Default);
            inBox.Text = str;
            byte i;
            for (i = 0; i <= str.Length - 1; i++ ) 
            {
                if ('а' >= str[0] & str[0] >= 'z')
                {
 
                    if (char.IsLower(str[0]))
                    {
                        char l = char.ToUpper(str[0]);
                        OutBox.Text = l + str.Remove(0, 1);
 
 
                    }
 
                }
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.12.2014, 23:03
Ответы с готовыми решениями:

В загруженном файле в текстбокс1 исправить первую строчную букву в слове на заглавную
Прога создаётся в С# (vs2008). Состоит в том, что нужно в загруженном файле в текстбокс1 исправить первую строчную букву в слове на...

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

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

12
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
21.12.2014, 23:34
мда, одной темы не хавтает ? следующая будет "хелпми шарп vs 2012" ..
вы думаете чем больше версия IDe тем легче написать программу?
0
Warrior
 Аватар для _exp10der_
500 / 427 / 177
Регистрация: 23.11.2014
Сообщений: 932
21.12.2014, 23:48
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
using System;
 
class Program
{
    public static void Main(string[] args)
    {
        string y = Magic("пРИвет");
        Console.WriteLine(y);
    }
 
    static string Magic(string s)
    {
        var temp = "";
        for (var i = 0; i < s.Length; i++)
        {
            if (i == 0)
            {
                temp += Char.ToUpper(s[0]);
                continue;
            }
          temp +=  Char.ToLower(s[i]);
        }
        return temp;
    }
}
А что делать в случае если 1 будет заглавной вызывать исключение?
0
foo();
 Аватар для rattrapper
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
22.12.2014, 00:07
_exp10der_,
mAGIC
C#
1
2
3
4
5
6
7
static string Magic(string s)
{
    string temp = Char.ToUpper(s[0]).ToString();
    for (var i = 1; i < s.Length; i++)
        temp += Char.ToLower(s[i]);
    return temp;
}
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
22.12.2014, 03:38
rattrapper,
mAGIC vol.2
C#
1
2
3
4
5
6
7
8
        private static string Magic(string s)
        {
            if (char.IsUpper(s[0]))
                return s;
            char[] result = s.ToLower().ToCharArray();
            result[0] = char.ToUpper(result[0]);
            return new string(result);
        }


Добавлено через 3 минуты
и даже
C#
1
2
3
4
5
6
7
        private static unsafe string Magic(string s)
        {
            string result = s.ToLower();
            fixed (char* p = s)
                *p = char.ToUpper(*p);
            return result;
        }
1
foo();
 Аватар для rattrapper
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
22.12.2014, 12:14
Psilon, тут пару оплошностей. В первом коде ПРИвет таким и вернется, а во втором нужно
C#
1
fixed(char* p = result)
Ну это так, на заметку. Вы мне лучше расскажите, что происходит во втором варианте. Куча статей про иммутабельность строк оставили след в моем сознании, а теперь я в замешательстве.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
22.12.2014, 13:22
rattrapper, нужно с такими вещами быть аккуратным
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
        static unsafe void Main(string[] args)
        {
            string s1 = "Hello";
            string s2 = "Hello";
 
            Console.WriteLine(s2);
            TestImmutability(s1);
            Console.WriteLine(s2);
        }
 
        private static unsafe void TestImmutability(string s1)
        {
            fixed (char* c = s1)
            {
                char* p = c;
                *p++ = 'W';
                *p++ = 'O';
                *p++ = 'R';
                *p++ = 'L';
                *p++ = 'D';
            }
        }
1
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
22.12.2014, 13:34
зачем столько сложностей если все так просто
C#
1
2
3
4
       static string Magic(string s)
        {
            return char.ToUpper(s[0]) + s.Substring(1,s.Length-1).ToLower();
        }
0
Заблокирован
22.12.2014, 13:41
C#
1
2
3
4
String str =  "пРИвет";
            Console.Write(
str.ToLower().Replace(str.ToLower()[0], Char.ToUpper(str.ToLower()[0]))
);
0
foo();
 Аватар для rattrapper
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
22.12.2014, 13:53
Psilon, ого, ничего себе. Долго колупался, так и не придумал, как в данном случае обойти интернирование. Мда, видимо менять строки можно, но цена слишком велика. Может ошибка вылезти где-угодно.

Добавлено через 2 минуты
Xelort, контрпример
C#
1
2
3
4
String str = "иНтерНиРоВАние";
Console.Write(
    str.ToLower().Replace(str.ToLower()[0], Char.ToUpper(str.ToLower()[0]))
    ); // ИнтернИрованИе
Добавлено через 3 минуты
Цитата Сообщение от Metall_Version Посмотреть сообщение
Substring(1,s.Length-1)
C#
1
Remove(1, 1)
0
286 / 192 / 56
Регистрация: 25.12.2012
Сообщений: 640
22.12.2014, 13:57
Лучший ответ Сообщение было отмечено Ev_Hyper как решение

Решение

Цитата Сообщение от Metall_Version Посмотреть сообщение
зачем столько сложностей если все так просто
C#
1
2
3
4
static string Magic(string s)
{
    return CultureInfo.CurrentCulture.TextInfo.ToTitleCase(s);
}
3
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
22.12.2014, 14:16
Цитата Сообщение от maxillion Посмотреть сообщение
C#
1
2
3
4
static string Magic(string s)
{
* * return CultureInfo.CurrentCulture.TextInfo.ToTitleCase(s);
}
думаю это лучший ответ , тему можно закрывать
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
22.12.2014, 16:31
maxillion, шикарный вариант
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.12.2014, 16:31
Помогаю со студенческими работами здесь

Заменить в каждом слове первую букву на заглавную
Вывести на экран все слова, преобразовав их следующим образом: заменить в каждом слове первую букву на заглавную. Буду благодарна за...

Дано предложение. Заменить в каждом слове первую букву на заглавную
Дано предложение. Заменить в каждом слове первую букву на заглавную.

Вывести строку на экран, заменив в каждом слове первую букву на заглавную
С клавиатуры вводится строка, состоящая из слов на русском языке, отделённых друг от друга одним пробелом. Все буквы прописные. Вывести эту...

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

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


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru