apache-flex 正则表达式大写到小写

laximzn5  于 2022-11-01  发布在  Apache
关注(0)|答案(7)|浏览(156)

是否可以将正则表达式模式匹配转换为小写?

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

输出应如下所示:“大家好”

qjp7pelc

qjp7pelc1#

您可以执行类似的操作,但要将模式替换为您所需的模式:

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变量是一个引用函数参数的内部变量。希望这能有所帮助,

hc8w905p

hc8w905p2#

var html = '<HTML><HEAD><BODY>TEST</BODY></HEAD></HTML>';
var regex = /<([^>]*)>/g;
html = html.replace(regex, function(x) { return x.toLowerCase() });
alert(html);
yyhrrdl8

yyhrrdl83#

变为小写

s/[A-Z]/\l&/g

和大写

s/[a-z]/\u&/g
5rgfhyps

5rgfhyps4#

将ActionSctipn 3中的所有大写英文字母更改为小写

var pattern:RegExp = /[A-Z]/g;
contentstr = contentstr.replace(pattern,function(a:String,b:int,c:String):String { return a.toLowerCase() } );
0g0grzrc

0g0grzrc5#

不,使用regex是不可能的。您只能将A替换为a,将B替换为b,等等。不能一次全部替换。
为什么不直接使用toLowerCase()呢?

oymdgrw7

oymdgrw76#

您可以使用函数作为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:如何将找到的字符串.replace值传递给函数?

2w3rbyxf

2w3rbyxf7#

如果你想把整个字符串转换成小写,那么在javascript中使用.toLowerCase().toUpperCase()
如果你想在字符串中用小写字母替换某个特定的字母,那么Regex更好。

相关问题