使用列表函数提取字符串的中间部分

时间:2015-01-29 20:27:32

标签: parsing coldfusion

我需要拔出(解析)数据记录的中间部分,典型的记录类似于这个字符串:

CARY 12345 (Supporting documentation here).

我需要做的只是取出数据记录的12345部分。我一直在使用这个CF代码:

cnumber = '00' & listFirst( listLast( ctic, ' ' ), ' ' );

但结果输出如下:

00(Supporting documentation here).

相反,我希望输出为:

0012345

2 个答案:

答案 0 :(得分:4)

如果您确定自己的数据总是如此,并且您总是希望得到第二项,那么您可以执行以下操作:

listGetAt(myData,2," ")

要使用零填充,可以使用numberFormat():

numberFormat(listGetAt(myData,2," "),"0000000")

但这会对您的数据格式做出一些假设,如果不匹配则会分解。

答案 1 :(得分:2)

尝试中途并一起替换

    <cfoutput>
       <cfset str = Mid("CARY 12345","5", "6")>
       <cfset str = "00"&str>
       <cfset str = Replace(str, " ","","All")>
           #str#
     </cfoutput>