在ColdFusion中转换值数组的最佳方法是什么
[ Fed Jones, John Smith, George King, Wilma Abby]
Run Code Online (Sandbox Code Playgroud)
以及最后一个逗号是或的列表
Fed Jones, John Smith, George King or Wilma Abby
Run Code Online (Sandbox Code Playgroud)
我认为REReplace可能有效,但尚未找到正确的表达方式.
Pet*_*ton 13
如果你有一个数组,最后一个元素与ArrayToList的组合是最简单的方法(根据亨利的答案).
如果你把它作为一个字符串,使用rereplace是一个有效的方法,并将这样工作:
<cfset Names = rereplace( Names , ',(?=[^,]+$)' , ' or ' ) />
Run Code Online (Sandbox Code Playgroud)
其中说匹配逗号,然后检查(不匹配)在字符串结尾之前没有逗号(当然只会应用最后一个逗号,因此将被替换).
在转换为列表之前,首先在数组级别操作会更容易.
names = ["Fed Jones", "John Smith", "George King", "Wilma Abby"];
lastIndex = arrayLen(names);
last = names[lastIndex];
arrayDeleteAt(names, lastIndex);
result = arrayToList(names, ", ") & " or " & last;
// result == "Fed Jones, John Smith, George King or Wilma Abby"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1681 次 |
| 最近记录: |