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

Using List Functions to Extract the Middle Section of a String

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

CARY 12345 (Supporting documentation here).

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

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

但是结果输出是这样的:

00(Supporting documentation here).

相反,我希望输出为:

0012345

如果您确定您的数据看起来总是那样,并且您总是希望获得第二项,您可以这样做:

listGetAt(myData,2," ")

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

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

但这对您的数据格式做了一些假设,如果不匹配就会崩溃。

同时尝试 Mid 和 Replace

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