是否可以将正则表达式模式匹配转换为小写?
var pattern:RegExp;
var str:String = "HI guys";
pattern = /([A-Z]+)/g;
str = str.replace(pattern, thisShouldBeLowerCase);
输出应如下所示:“嗨,伙计们”
是否可以将正则表达式模式匹配转换为小写?
var pattern:RegExp;
var str:String = "HI guys";
pattern = /([A-Z]+)/g;
str = str.replace(pattern, thisShouldBeLowerCase);
输出应如下所示:“嗨,伙计们”
你可以做这样的事情,但是用你需要的替换模式:
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
变量是引用函数参数的内部变量。希望有帮助,
槊
var html = '<HTML><HEAD><BODY>TEST</BODY></HEAD></HTML>';
var regex = /<([^>]*)>/g;
html = html.replace(regex, function(x) { return x.toLowerCase() });
alert(html);
小写
s/[A-Z]/\l&/g
和大写
s/[a-z]/\u&/g
在 ActionSctipn 3 中将所有大写英文字母更改为小写
var pattern:RegExp = /[A-Z]/g;
contentstr = contentstr.replace(pattern,function(a:String,b:int,c:String):String { return a.toLowerCase() } );
不,使用正则表达式是不可能的。您只能用 、 等替换A
。a
不能B
一次b
全部替换。
为什么不简单地使用toLowerCase()
?
您可以使用函数作为 string.replace 的第二个参数
在您的情况下,您可以使用
var pattern:RegExp;
var str:String = "HI guys";
pattern = /([A-Z]+)/g;
str = str.replace(pattern, function(search, match1) {
return match1.toLowerCase() }
);
在此处阅读有关它的更多信息 Javascript:如何将找到的 string.replace 值传递给函数?
如果要将完整的字符串转换为小写,请在 javascript 中使用.toLowerCase()
或。.toUpperCase()
如果您想用小写替换字符串中的特定字母,那么Regex
更好。