String Functions
escape
对输入字符串中的特殊字符应用 URL 编码。
- 不编码以下字符:
,、/、?、@、&、+、'、~、!和$。 - 最常见的编码字符是:
\<space\>、#、^、(、)、{、}、|、:、>、<、;、]、[和=。
参数:string:要转义的字符串。
返回值:不带引号的转义后的 string 内容。
示例:
escape('a=1')
输出:
a%3D1
注意:如果参数不是字符串,则输出未定义。当前实现在颜色上返回 undefined,在其它任何类型的参数上返回未更改的输入。不应依赖此行为,因为它可能会在将来更改。
e
字符串转义。
它期望字符串作为参数,并返回其内容,但不带引号。它可用于输出 CSS 值,该值不是有效的 CSS 语法,或者使用 Less 不识别的专有语法。
参数:string - 要转义的字符串。
返回值:string - 转义后的字符串,不带引号。
示例:
@mscode: "ms:alwaysHasItsOwnSyntax.For.Stuff()" filter: e(@mscode);
输出:
filter: ms:alwaysHasItsOwnSyntax.For.Stuff();
% format
函数
%(string, arguments ...)格式化字符串。
第一个参数是带有占位符的字符串。所有占位符以百分号 % 开头,后跟字母 s、S、d、D、a 或 A。其余参数包含要替换占位符的表达式。如果需要打印百分号符号,请使用另一个百分号 %% 进行转义。
如果需要将特殊字符转义为其 utf-8 转义代码,请使用大写占位符。该函数转义除 ()'~! 之外的所有特殊字符。空格编码为 %20。小写占位符保留特殊字符。
占位符:
d、D、a、A- 可以由任何类型的参数(颜色、数字、转义值、表达式等)替换。如果将它们与字符串一起使用,则将使用整个字符串 - 包括其引号。但是,引号以它们的形式放置在字符串中,它们不会被 "/" 或任何类似的字符转义。s、S- 可以由任何表达式替换。如果将其与字符串一起使用,则仅使用字符串值 - 引号被省略。
参数:
string:带有占位符的格式字符串,anything*:要替换占位符的值。
返回值:格式化后的 string。
示例:
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
替换字符串中的文本。
发布版本 v1.7.0
参数:
string:要搜索和替换的字符串。pattern:要搜索的字符串或正则表达式模式。replacement:用于替换匹配模式的字符串。flags:(可选)正则表达式标志。
返回值:替换后的字符串。
示例:
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;