Преобразуйте символ в верхний регистр с помощью регулярных выражений (EditPad Pro)

Существует не (точно корректен) решение, которое будет работать за постоянное количество времени, так как 1/7 является бесконечным десятичным числом в основе 5. Одно простое решение должно было бы использовать выборку отклонения, например:


int i;
do
{
  i = 5 * (rand5() - 1) + rand5();  // i is now uniformly random between 1 and 25
} while(i > 21);
// i is now uniformly random between 1 and 21
return i % 7 + 1;  // result is now uniformly random between 1 and 7

Это имеет ожидаемое время выполнения 25/21 = 1,19 повторения цикла, но существует бесконечно мало маленькая вероятность цикличного выполнения навсегда.

154
задан Michael Myers 21 July 2009 в 14:30
поделиться

2 ответа

TextPad позволит вам выполнить эту операцию.

пример:

test this sentence

Найти что: \ ([^] * \) \ (. * \) Замените на: \ U \ 1 \ E \ 2

\ U приведет к тому, что все следующие символы будут верхними

\ E выключит \ U

результат будет:

TEST this sentence
257
ответ дан 23 November 2019 в 21:59
поделиться

EditPad Pro и PowerGREP имеют уникальная функция, позволяющая изменить регистр обратной ссылки. \ U1 вставляет первую обратную ссылку в верхнем регистре, \ L1 в нижнем регистре и \ F1 с первым символом в прописные буквы и остаток в строчные. Наконец, \ I1 вставляет его с первой буквой каждого слова заглавными буквами, а остальные буквы в строчные.

Источник: Goyvaerts, Jan (2006). Регулярные выражения: полное руководство . Lulu.com. стр. 35 . ISBN 1411677609. Google Книги. Проверено 25 июня 2010 г.

26
ответ дан 23 November 2019 в 21:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: