【发布时间】:2011-02-01 12:58:28
【问题描述】:
是否可以将正则表达式模式匹配转换为小写?
var pattern:RegExp;
var str:String = "HI guys";
pattern = /([A-Z]+)/g;
str = str.replace(pattern, thisShouldBeLowerCase);
输出应如下所示:“嗨,伙计们”
【问题讨论】:
标签: regex apache-flex replace lowercase
是否可以将正则表达式模式匹配转换为小写?
var pattern:RegExp;
var str:String = "HI guys";
pattern = /([A-Z]+)/g;
str = str.replace(pattern, thisShouldBeLowerCase);
输出应如下所示:“嗨,伙计们”
【问题讨论】:
标签: regex apache-flex replace lowercase
你可以做这样的事情,但是用你需要的替换模式:
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: how to pass found string.replace value to function?
【讨论】:
如果要将完整的字符串转换为小写,请在 javascript 中使用 .toLowerCase() 或 .toUpperCase()。
如果您想用小写替换字符串中的特定字母,那么Regex 更好。
【讨论】: