使用此插件
rfl
函数使用以下参数:
lv
(必需,字符串):包含分隔值列表的变量(或字符串)vr
(必需,字符串):要从lv
参数中删除的值。Adobe 建议不要在一次rfl
调用期间删除多个值。d1
(可选,字符串):lv
参数使用的分隔符。默认使用逗号 (,
)。d2
(可选,字符串):您希望返回字符串使用的分隔符。默认为与d1
参数的相同值。df
(可选,布尔):如果为true
,则仅从lv
参数中强制删除重复的vr
参数实例,而不是所有实例。如果未设置,则默认为false
。
调用此函数将返回一个修改后的字符串,该字符串将包含 lv
参数,但不包含 vr
参数中指定的值的任何实例(或重复实例)。
示例调用
示例 1
如果…
s.events = "event22,event24,event25";
…并运行以下代码…
s.events = rfl(s.events,"event24");
…s.events 的最终值将为:
s.events = "event22,event25";
示例 2
如果…
s.events = "event22,event24,event25";
…并运行以下代码…
s.events = rfl(s.events,"event26");
…s.events 的最终值将为:
s.events = "event22,event24,event25";
在此示例中,rfl 调用未对 s.events 做出任何更改,因为 s.events 中不包含“event26”
示例 3
如果…
s.events = "event22,event24,event25";
…并运行以下代码…
s.events = rfl(s.events);
…s.events 的最终值将为:
s.events = "";
如果在 rfl
调用中 lv
参数或 vr
参数为空,则插件将不返回任何内容。
示例 4
如果…
s.prop4 = "hello|people|today";
…并运行以下代码…
s.eVar5 = rfl(s.prop4,"people","|");
…s.prop4 的最终值仍将为…
s.prop4 = "hello|people|today";
…但 s.eVar5 的最终值将为:
s.eVar5 = "hello|today";
请记住,此插件仅返回一个值;实际上,此插件不会“重置”通过 lv
参数传入的变量。
示例 5
如果…
s.prop4 = "hello|people|today";
…并运行以下代码…
s.prop4 = rfl(s.prop4,"people");
…s.prop4 的最终值仍将为…
s.prop4 = "hello|people|today";
如果 lv
参数值包含的分隔符不同于默认分隔符(即逗号),请务必设置 d1
参数。
示例 6
如果…
s.events = "event22,event23,event25";
…并运行以下代码…
s.events = rfl(s.events,"EVenT23");
…s.events 的最终值将为:
s.events = "event22,event23,event25";
尽管此示例不太符合实际,但它表明需要传递区分大小写的值。
示例 7
如果…
s.events = "event22,event23:12345,event25";
…并运行以下代码…
s.events = rfl(s.events,"event23");
…s.events 的最终值将为:
s.events = "event22,event25";
示例 8
如果…
s.events = "event22,event23:12345,event25";
…并运行以下代码…
s.events = rfl(s.events,"event23:12345");
…s.events 的最终值将为:
s.events = "event22,event23:12345,event25";
当需要删除使用序列化和/或数值/货币语法的事件时,您应仅在 rfl
调用中指定事件本身(即不指定序列化/数值/货币值)。
示例 9
如果…
s.events = "event22,event23,event23,event23,event24,event25";
…并运行以下代码…
s.events = rfl(s.events,"event23");
…s.events 的最终值将为:
s.events = "event22,event24,event25");
示例 10
如果…
s.events = "event22,event23,event23,event23,event24,event25";
…并运行以下代码…
s.events = rfl(s.events,"event23", "", "",true);
…s.events 的最终值将为:
s.events = "event22,event23,event24,event25");
示例 11
如果…
s.events = "event22,event23,event23,event23,event24,event25";
…并运行以下代码…
s.events = rfl(s.events,"event23", "", "|",true);
…s.events 的最终值将为:
s.events = "event22|event23|event24|event25");
示例 12
如果…
s.events = "event22,event23,event24,event25";
…并运行以下代码…
s.events = rfl(s.events,"event23,event24");
…s.events 的最终值将为:
s.events = "event22,event23,event24,event25";
不支持在 vr
参数中设置多个值。上例中的 rfl
逻辑将先拆分 lv
参数(即 s.events)中的各个值,然后再尝试将每个分隔的值与完整的 vr
参数值(即 "event23,event24"
)进行匹配。
示例 13
如果…
s.events = "event22,event23,event24,event25";
…并运行以下代码…
s.events = rfl(s.events,"event23");
s.events = rfl(s.events,"event24");
…s.events 的最终值将为:
s.events = "event22,event25");
要从列表中删除的每个值都应包含在其自己的 rfl
调用中。
示例 14
如果…
s.linkTrackVars = "events,eVar1,eVar2,eVar3";
…并运行以下代码…
s.linkTrackVars = rfl(s.linkTrackVars,"eVar2", ",", ",", false);
…s.linkTrackVars 的最终值将为:
s.linkTrackVars = "events,eVar1,eVar3";
此 rfl
调用末尾的最后三个参数(即 ",",",",false)不是必需的,但是由于它们与默认设置匹配,因此即使它们存在也不会“造成任何不利影响”。
示例 15
如果…
s.events = "event22,event23,event24";
…并运行以下代码…
rfl(s.events,"event23");
…s.events 的最终值仍将为:
s.events = "event22,event23,event24";
同样地,此插件仅返回一个值;实际上,此插件不会“重置”通过 lv
参数传入的变量。
版本历史记录
2.1(2021 年 3 月 19 日)
- 以上下文数据形式添加了版本号。
2.01(2019 年 9 月 17 日)
- 修复了关于默认分隔符值的小错误
2.0(2018 年 4 月 16 日)
- 修正版本(重新编译,代码更小)。
- 删除了使用
join
插件的需要。
1.0(2016 年 7 月 18 日)
- 第一版。