在 After Effects 表达式中,字符串(string)是一种用于存储文本的数据类型。虽然 After Effects 表达式环境不支持所有 JavaScript 字符串方法,但仍然可以使用一些常见的方法进行字符串操作,如获取字符串长度、拼接、查找、替换等。
1、获取字符串长度
字符串对象的 length 属性用于获取字符串的字符数量。
示例:
var text = "mediaTEA";
var len = text.length; // 8text.length 返回 text 字符串的长度,即 8。
2、连接字符串
可以使用 + 或 concat() 方法合并多个字符串。
示例 1:使用 + 号拼接
var str1 = "media";
var str2 = "TEA";
var result = str1 + "" + str2; // "mediaTEA"+ 是最常用的字符串拼接方式。
示例 2:使用 concat() 方法
var str1 = "media";
var str2 = "TEA";
var result = str1.concat(" ", str2); // "media TEA"concat() 方法可以连接多个字符串。
另外,使用数组对象的 join(seperator) 方法,可以指字符串数组元素以指定的分隔符连接起来。
var arr = ["Hello", "mediaTEA"];
var str = arr.join(); // 默认的分隔符为 , 号
str; // 返回 "Hello,mediaTEA"3、转换大小写
可以使用 toUpperCase() 和 toLowerCase() 方法进行大小写转换。
toUpperCase() 将字符串转换为大写。
toLowerCase() 将字符串转换为小写。
示例:
var text = "mediaTEA";
var upper = text.toUpperCase(); // "MEDIATEA"
var lower = text.toLowerCase(); // "mediatea"4、填充与重复
(1)padStart(targetLength, padString)
在字符串前面填充字符。
var str = "7";
str.padStart(3, "0"); // 返回 "007"(2)padEnd(targetLength, padString)
在字符串后面填充字符。
var str = "5";
str.padEnd(3, "0"); // 返回 "500"(3)repeat(n)
重复字符串 n 次。
var str = "AE ";
str.repeat(3); // 返回 "AE AE AE "5、去除首尾空格
(1)trim()
用于去除字符串两端的空格。
var text = " mediaTEA ";
var trimmed = text.trim(); // "mediaTEA"(2)trimStart() / trimEnd()
分别用于去除前/后的空格。
var str = " AE ";
str.trimStart(); // 返回 "AE "
str.trimEnd(); // 返回 " AE"6、查找子字符串
可以使用 indexOf() 或 includes() 方法查找字符串中的特定字符或子字符串的。
(1)indexOf()
查找字符串中的特定字符或子字符串,返回匹配字符的索引。如果找不到匹配项,indexOf() 返回 -1。
var text = "mediaTEA";
var index = text.indexOf("TEA"); // 5indexOf("Effects") 返回 5,表示 "TEA" 在索引 5 处开始。
提示:
字符串中字符索引从 0 开始。
(2)includes()
检查字符串是否包含指定的字符或子字符串。
var text = "mediaTEA";
var hasWord = text.includes("TEA"); // trueincludes("After") 返回 true,表示字符串中包含 "TEA"。
(3)startsWith() / endsWith()
检查字符串是否以指定的字符或子字符串开始或结尾。
var str = "mediaTEA";
str.startsWith("media"); // 返回 true
str.startsWith("TEA", 5); // 返回 true
str.endsWith("TEA"); // 返回 true7、提取子字符串
(1)charAt(index)
返回指定索引的字符。
var str = "mediaTEA";
str.charAt(5); // 返回 "T"(2)charCodeAt(index)
返回指定索引的字符的 Unicode 编码。
var str = "ABC";
str.charCodeAt(0); // 返回 65(3)slice(start, end)
提取字符串的一部分,不包含 end。
var text = "mediaTEA";
var part = text.slice(5, 7); // "TE"slice(5, 7) 提取索引 5 到 6 (不含 7)的字符。
(4)subsring(start, end)
功能类似于 slice(),但不支持负索引。
var str = "mediaTEA";
str.substring(5, 8); // 返回 "TEA"(5)substr(start, length)
从 start 开始,提取 length 个字符(不推荐,substr() 已被废弃)。
var str = "After Effects";
str.substr(6, 7); // 返回 "Effects"8、替换字符串
可以使用 replace() 方法替换字符串中的某个部分。
var text = "photoshopTEA";
var newText = text.replace("photoshop", "media"); // "mediaTEA"9、拆分字符串
split(separator) 方法可以将字符串拆分成数组。
var text = "After,Effects,Expressions";
var words = text.split(","); // ["After", "Effects", "Expressions"]split(",") 以 , 作为分隔符拆分字符串,返回数组。
10、正则匹配
After Effects 字符串方法支持正则表达式。
匹配模式是一个字符序列,它使用特殊的符号(如 \d, \w, . 等)来定义要匹配的文本规则。通常放在 /.../ 之间。
var str = "After Effects, mediaTEA 2025";
var matches = str.match(/(m|a)\w+\s\d+/gi);
matches; // 返回 ["mediaTEA 2025"]正则表达式 /(m|a)\w+\s\d+/gi 用于匹配以 m 或 a 开头的单词,后跟一个或多个字母/数字/下划线(\w+),然后是空格(\s),最后是一个或多个数字(\d+)的字符串。修饰符 g 表示全局匹配,i 表示忽略大小写。
请参阅:
“点赞有美意,赞赏是鼓励”
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.