верхний регистр regex к нижнему регистру

Действительно ли возможно преобразовать regexp соответствие шаблона к нижнему регистру?

var pattern:RegExp;
var str:String = "HI guys";
pattern = /([A-Z]+)/g;
str = str.replace(pattern, thisShouldBeLowerCase);

Вывод должен быть похожим на это: "привет парни"

6
задан Donald Duck 10 February 2018 в 14:40
поделиться

2 ответа

Вы можете сделать что-то вроде этого, но замените шаблон именно тем, что вам нужно:

public static function lowerCase(string:String, pattern:RegExp = null):String
{
    pattern ||= /[A-Z]/g;
    return string.replace(pattern, function x():String
    {
        return (arguments[0] as String).toLowerCase();
    });
}

trace(lowerCase('HI GUYS', /[HI]/g)); // "hi GUYS";

Эта переменная arguments является внутренней переменная, ссылающаяся на параметры функции. Надеюсь, это поможет,

Лэнс

7
ответ дан 8 December 2019 в 12:19
поделиться

Нет, это невозможно с использованием регулярного выражения. Вы можете заменить только A на a , B на b и т. Д. Не все сразу.

Почему бы просто не использовать toLowerCase () ?

0
ответ дан 8 December 2019 в 12:19
поделиться
Другие вопросы по тегам:

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