【问题标题】:ColdFusion looping through a list with text qualifiersColdFusion 循环遍历带有文本限定符的列表
【发布时间】:2014-09-26 01:04:42
【问题描述】:

我正在尝试找出一种在 cfloop 列表中实现文本限定符(环绕引号)的方法。 cfloop list 似乎没有忽略某些字符之间的文本的选项。当然我可以改变分隔符,但我很惊讶我找不到更优雅的方式来做到这一点,现在它让我很好奇......

这是我正在循环的列表:

Mockup_"/docs/R0001/Mockup_2014-07-10.pdf"_MDEXTER_2014-07-10

当然这是循环:

<cfloop list="#list#" delimiters="_" index="i">
    #i#
</cfloop>

所以它正在治疗

"/docs/R0001/Mockup 

2014-07-10.pdf"

作为单独的元素,而它们需要形成一个 URL。有什么建议吗?

【问题讨论】:

  • 这不是列表操作,原因您已经注意到:CFML 中的列表只是一个字符串,其中的字符被视为分隔符。没有您想要的“转义”分隔符的概念。如果您想要的记录模式始终相同,您可能想要进行某种方式的正则表达式匹配。但是,您并没有真正提供足够的问题域信息来帮助您解决这个问题。也许描述问题,而不是从不可行的解决方案的角度来处理它?
  • 似乎是一个标准的 CSV 解析问题,也许只是在 cflib.org 上寻找一个现有的 CSV 解析器会给你一个现成的解决方案,或者在“CSV 解析器 CFML”上进行谷歌搜索可能会产生一个现成的到插件解决方案。如果您在 railo,这可能会有所帮助:railodeveloper.com/post.cfm/railo-custom-tag-cfcsv

标签: list loops text coldfusion delimiter


【解决方案1】:

如果文本行相对固定,为什么不这样做呢?

strList1 = listGetat('Mockup_"/docs/R0001/Mockup_2014-07-10.pdf"_MDEXTER_2014-07-10',2,'"');

writeDump(strList1);

上面将产生不带引号的内容:“/docs/R0001/Mockup_2014-07-10.pdf”

这又假定了一个标准格式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    • 2014-09-19
    • 1970-01-01
    • 2013-06-22
    • 1970-01-01
    相关资源
    最近更新 更多