Joh*_*ohn 2 coldfusion coldfusion-9
代码:
<cfset LOCAL.temp = 'something==a descript >= ive value' />
<cfdump var="#ListToArray(LOCAL.temp, '==')#" />
Run Code Online (Sandbox Code Playgroud)
我期望的是一个带有两个索引的数组,我得到的是一个带有三个索引的数组,CF也在单个等号处分裂.
是否有其他人遇到此行为或可以解释发生了什么?
Pet*_*ton 10
这是预期的行为.如文档中所述,ListToArray使用单字符分隔符(默认情况下).
一种解决方案是使用拆分:
Temp.split('==')
Run Code Online (Sandbox Code Playgroud)
(这是利用底层的Java string.split方法,它在指定正则表达式的每次匹配时拆分字符串,并且适用于所有基于Java的CFML引擎,但会产生Java字符串数组 - 无法直接操作使用CF的ArrayAppend和相关函数,除非它首先被转换.).
由于您使用的是CF9,因此您还可以使用新的多字符分隔符标志,方法是将第四个参数设置为true:
ListToArray(Temp,'==',false,true)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1388 次 |
最近记录: |