字符串相关
约 705 字大约 2 分钟
2025-04-15
一、escape()
输入参数为需要转义的字符串。返回值为 URL 编码转义后的字符串内容(不带引号)。
最常见的编码字符包括:
\<空格\>
,#
,^
,(
,)
,{
,}
,|
,:
,>
,<
,;
,]
,[
和=
。以下字符不会被编码:
,
,/
,?
,@
,&
,+
,'
,~
,!
和$
。
1、语法
escape(string)
string
: 需要转义的字符串。
注意
如果参数不是字符串类型,输出结果将未定义。当前实现对于颜色值会返回undefined
,其他类型参数则保持不变。此行为不应被依赖,未来可能会发生变化。
2、示例
escape('a=1')
编译后:
a%3D1
二、e(string)
该函数接收一个字符串参数并返回其内容(不带引号)。可用于输出 Less 无法识别的无效 CSS 语法或专有语法值。
1、语法
e(string)
string
: 需要输出的字符串。
2、示例
示例:
@mscode: "ms:alwaysHasItsOwnSyntax.For.Stuff()";
filter: e(@mscode);
编译后:
filter: ms:alwaysHasItsOwnSyntax.For.Stuff();
三、%()
用于格式化字符串。
1、语法
%(string, arguments...)
第一个参数是包含占位符的字符串。所有占位符以百分号 %
开头,后跟字母 s
、S
、d
、D
、a
或 A
。其余参数包含要替换占位符的表达式。如果需要打印百分号,请使用双百分号 %%
进行转义。
使用大写占位符可将特殊字符转义为 UTF-8 编码。该函数会转义除 (
、)
、'
、~
、!
外的所有特殊字符。空格会被编码为 %20
。小写占位符则保留特殊字符原样。
2、占位符:
d
,D
,a
,A
: 可被任何类型的参数替换(颜色、数字、转义值、表达式等)。当与字符串一起使用时,将使用整个字符串(包括引号)。但引号会原样放入字符串中,不会被/
或其他方式转义。s
,S
:可被任何表达式替换。当与字符串一起使用时,仅使用字符串值(不包括引号)。
3、示例
format-a-d: %("repetitions: %a file: %d", 1 + 2, "directory/file.less");
format-a-d-upper: %("repetitions: %A file: %D", 1 + 2, "directory/file.less");
format-s: %("repetitions: %s file: %s", 1 + 2, "directory/file.less");
format-s-upper: %("repetitions: %S file: %S", 1 + 2, "directory/file.less");
编译后:
format-a-d: "repetitions: 3 file: directory/file.less";
format-a-d-upper: "repetitions: 3 file: %22directory%2Ffile.less%22";
format-s: "repetitions: 3 file: directory/file.less";
format-s-upper: "repetitions: 3 file: directory%2Ffile.less";
四、replace()
替换字符串中的文本。返回替换后的字符串。
1、语法
replace(string, pattern, replacement, flags)
string
: 需要进行搜索和替换的字符串。pattern
: 要搜索的字符串或正则表达式模式。replacement
: 用于替换匹配模式的字符串。flags
: (可选) 正则表达式标志。
2、示例
replace("Hello, Mars?", "Mars\?", "Earth!");
replace("One + one = 4", "one", "2", "gi");
replace('This is a string.', "(string)\.$", "new $1.");
replace(~"bar-1", '1', '2');
编译后:
"Hello, Earth!";
"2 + 2 = 4";
'This is a new string.';
bar-2;
更新日志
2025/8/24 08:17
查看所有更新日志
e7112
-1于