是否有可能将正则表达式模式匹配转换为小写字母?
var pattern:RegExp;
var str:String = "HI guys";
pattern = /([A-Z]+)/g;
str = str.replace(pattern, thisShouldBeLowerCase);
输出应该像这样:"hi guys"
是否有可能将正则表达式模式匹配转换为小写字母?
var pattern:RegExp;
var str:String = "HI guys";
pattern = /([A-Z]+)/g;
str = str.replace(pattern, thisShouldBeLowerCase);
输出应该像这样:"hi guys"
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
在ActionScript 3中将所有大写英文字母转换为小写
var pattern:RegExp = /[A-Z]/g;
contentstr = contentstr.replace(pattern,function(a:String,b:int,c:String):String { return a.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值传递给函数?
不,使用正则表达式是不可能的。你只能一个一个地将 A
替换为 a
,B
替换为 b
,以此类推。
为什么不直接使用 toLowerCase()
呢?
.toLowerCase()
或 .toUpperCase()
。Regex
。