全国热线电话:13633878273
发布时间: 2014-11-29 16:38:52
字符串函数
escape
对字符串中的特殊字符做 URL-encoding 编码。
•这些字符不会被编码:,, /, ?, @, &, +, ', ~, ! and $。
•被编码的字符是:\<space\>, #, ^, (, ), {, }, |, :, >, <, ;, ], [ and =。
参数:string: 需要转义的字符串。
返回值:转义后不带引号的 string 字符串。
案例:
escape('a=1')
输出:
a%3D1
注意:如果参数不是字符串的话,函数行为是不可预知的。目前传入颜色值的话会返回 undefined ,其它的值会原样返回。写代码时不应该依赖这个特性,而且这个特性在未来有可能改变。
e
用于对 CSS 的转义,已经由 ~"value" 语法代替。
它接受一个字符串作为参数,并原样返回内容,不含引号。它可用于输出一些不合法的 CSS 语法,或者是使用 LESS 不能识别的属性。
参数:string - 需要转义的字符串。
返回值: string - 转义后的字符串,不含引号
案例:
filter: e("ms:alwaysHasItsOwnSyntax.For.Stuff()");
输出:
filter: ms:alwaysHasItsOwnSyntax.For.Stuff();
注意:也接受经 ~"" 转义的值或者是数字作为参数。任何其它的值将产生错误。
% 格式化
此函数 %(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;