Как узнать следующий символ по алфавиту?

StackOverflow https://stackoverflow.com/questions/1026220

  •  06-07-2019
  •  | 
  •  

Вопрос

Как мы можем узнать следующий символ введенного. Например, если я ввел символ " b " тогда как мне получить ответ "c"?

Это было полезно?

Решение

Попробуйте это:

char letter = 'c';

if (letter == 'z')
    nextChar = 'a';
else if (letter == 'Z')
    nextChar = 'A';

else
    nextChar = (char)(((int)letter) + 1);

Таким образом, у вас нет проблем, когда символ является последним в алфавите.

Другие советы

Как насчет:

char first = 'c';
char nextChar = (char)((int) first + 1);

Обратите внимание, что char неявно приведёт к int Вот упрощенное решение:

char incrementCharacter(char input)
{
    return (input == 'z'? 'a': (char)(input + 1));
}

Возможно, самый простой способ - это маленькая функция и массив из 26 символов. Затем вы можете решить, что вы хотите вернуть для «Z».

Преобразуйте символ в число, увеличьте число и затем выполните обратное преобразование.

Но подумайте, что произойдет для " z " или "& # 225;" (Латинская буква A с острой).

нужно просто добавить 1 символ, чтобы получить следующий символ. Работает со значениями ASCII.

Как работает & # 228; Сортировать? В немецком (я думаю) это должно быть отсортировано после a, но в шведском это должно следовать после & # 229 ;, что, в свою очередь, после z. Это не тривиальный вопрос, если вы не ограничиваетесь английским языком.

Это значение изменения полезно для приложения Excel, чтобы найти предыдущий столбец

открытая статическая строка PrevExecelColumn (строка s)         {             s = s.ToUpper ();             char [] ac = s.ToCharArray ();             int ln = ac.Length;             for (int i = ln - 1; i > -1; i--)             {                 char c = ac [i];

            if (c == 'A')
            {
                ac[i] = 'Z';
                continue;
            }

            ac[i] = (char)(((int)ac[i]) - 1);
            break;

        }
        s = new string(ac);
        return s;
    }  

Попробуйте это:

public string GetNextAlphabetLetter(int indice) {
  return ((char)('A' + indice)).ToString();
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top