当前位置:  开发笔记 > 编程语言 > 正文

为什么Coldfusion在列表函数中删除了零

如何解决《为什么Coldfusion在列表函数中删除了零》经验,为你挑选了2个好方法。

我在Coldfusion 10中遇到了一个奇怪的行为 - 我有一个名为myString"12600A07xxx" 的变量.

我想要"A07"之前和之后的子串,所以我使用"A07"作为列表分隔符,并键入listFirst(myString, "A07")listLast(myString, "A07").

对于第一个,它正在剥离零,并且当它应该返回"12600"时返回"126".它也是如此ListGetAt().为什么会这样?



1> Cmaso..:

我知道 - CF将"A07"视为三个不同的分隔符,"A","0"和"7",而不是单个分隔符"A07".还有几种方法可以解决这个问题,最简单的方法是用一个字符(例如管道)暂时替换"A07"并将其用作临时分隔符.


根据文档`一个字符串或包含一个的变量.ColdFusion将字符串中的每个字符视为分隔符.默认值为逗号

2> Alex..:

正如您已经注意到的,ColdFusion具有许多具有单字符分隔符的功能.但是,也有支持多字符分隔符的功能,例如
listToArray( list [, delimiters[, includeEmptyFields[, multiCharacterDelimiter]]] ).

例:

parts = listToArray("12600A07xxx", "A07", false, true);
writeOutput( parts[1] ); // >> 12600
writeOutput( parts[2] ); // >> xxx

旁注:您确定要使用特定分隔符拆分输入吗?使用这种数据的正则表达式模式可能会更好.只是一个猜测.

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有