Less 字符串函数

escape

对输入字符串中的特殊字符应用 URL 编码:

  • 这些字符不编码: ,, /, ?, @, &, +, ', ~, ! 和 $。

  • 最常见的编码字符有 #, ^, (, ), {, }, |, :, >, <, ;, ], [ 和 =。

参数:string - 要转义的字符串。

返回:去掉引号的转义字串内容。

示例:

escape('a=1')

输出:

a%3D1

注意:如果参数不是字符串,则不会定义输出。目前的实现对颜色返回 undefined ,对任何其他类型的参数原因返回。不应依赖这种行为,将来可能会改变。

e

字符串转义。

它将字符串作为参数,并按原样返回其内容,但不带引号。它可用于输出非有效 CSS 语法或使用 Less 无法识别的专有语法的 CSS 值。

参数: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* : 用来替换占位符的值。

返回: 格式化后的字符串。

示例:

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;


说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号