Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 02.11.2011
Сообщений: 89
1

Привести в строке все англ. символы к верхнему регистру

27.03.2013, 13:36. Просмотров 577. Ответов 4
Метки нет (Все метки)

Привести в строке все англ. символы (в нижнем регистре) к верхнему регистру:
C#
1
2
3
4
5
6
7
byte[] codeOfSymbols = Encoding.Default.GetBytes("бла-бла-bla-bla");
for (int index = 0; index < codeOfSymbols.Length; index++)
{
          byte codeOfSymbol = codeOfSymbols[index];
          if (codeOfSymbol >= 97 && codeOfSymbol <= 122)
                    correctHorizontName.Replace((char)codeOfSymbol, (char)(codeOfSymbol - 32), index, 1);
}
Что-то смущает меня тут. Можно ли это как-то через foreach сделать?
Или еще как-то улучшить алгоритм?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.03.2013, 13:36
Ответы с готовыми решениями:

Привести 1 символ к Верхнему регистру!
private void Words_Text(object sender, EventArgs e) { string st =...

Выделить слово и привести его к верхнему регистру
Есть строка “Пришла золотая осень”. Выделите слово “золота” и приведите его к верхнему регистру....

Привести строку к определенному регистру
Подскажите пожалуйста как выполнить такую команду &quot;строку стринг формата сначала перевести в нижний...

Удвоить в первой строке все символы, принадлежащие второй строке
Написать программу, которая удваивает в первой введённой строке все символы, принадлежащие второй...

4
19 / 19 / 5
Регистрация: 16.09.2012
Сообщений: 80
27.03.2013, 14:12 2
Самый простой способ это:

C#
1
2
3
4
byte[] codeOfSymbols = Encoding.Default.GetBytes("бла-бла-bla-bla");
foreach (byte bChar in codeOfSymbols)
    if ((bChar >= 65) && (bChar <= 122))
        char.ToUpper((char)bChar);
0
0 / 0 / 1
Регистрация: 02.11.2011
Сообщений: 89
27.03.2013, 14:27  [ТС] 3
А вообще требуется в строке найти римские цифры и привести их к верхнему регистру.
Может даже такой вариант получше будет?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private static List<char> romanDigits = new List<char> { 'm', 'd', 'c', 'l', 'x', 'v', 'i' };
 
public static string ConvertedRomanNumbersToUppercase(string str)
{
        StringBuilder correctString = new StringBuilder(str);
        int index = 0;
        foreach (char character in str)
        {                
                if (romanDigits.Contains(character))                
                        correctString.Replace(character, (char)(character-32), index, 1);
                index++;              
        }          
 
        return correctString.ToString();
}
Добавлено через 1 минуту
rejjin, Спасибо! Да, так действительно лучше!

Добавлено через 12 минут
Цитата Сообщение от rejjin Посмотреть сообщение
Самый простой способ это:
Код C#
byte[] codeOfSymbols = Encoding.Default.GetBytes("бла-бла-bla-bla");
foreach (byte bChar in codeOfSymbols)
if ((bChar >= 65) && (bChar <= 122))
char.ToUpper((char)bChar);
Получается примерно так:
C#
1
2
3
4
5
6
7
 
foreach (byte bChar in codeOfSymbols)
            {
                if (bChar >= 65 && bChar <= 122)
                    correctString.Replace((char)bChar, char.ToUpper((char)bChar), index, 1);                
                index++;
            }
0
19 / 19 / 5
Регистрация: 16.09.2012
Сообщений: 80
27.03.2013, 14:38 4
C#
1
2
var codeOfSymbolsResult = from bChar in codeOfSymbols
                                      select (bChar >= 65) && (bChar <= 122) ? char.ToUpper((char)bChar) : (char)bChar;
Еще можно с LINQ, но я не уверен, что это достаточно читабельно для владеющих им (сам только 20 минут назад прочитал введение, так что это возможно не самый лучший вариант).
0
0 / 0 / 1
Регистрация: 02.11.2011
Сообщений: 89
27.03.2013, 14:39  [ТС] 5
Читабельно.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2013, 14:39

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

После символа '/' преобразовать все символы к верхнему регистру
Дана строка char str = &quot;/program/file/111/file_name.txt&quot;; нужно после последнего символа '/'...

Привести буквы к верхнему регистру?
Нужно на стороне клиента вводящего в форму поиска буквы привести их к верхнему регистру, либо...

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

Множества и строки. Привести гласные буквы к верхнему регистру, согласные к нижнему
Спасибо Огромное) Теперь буду разбираться)


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.