检索 ColdFusion 版本 4.5 中括号内的代码



我有一个从数据库中检索到的字符串,该字符串可以包含{}或[]括号中的一系列代码以及用户输入的纯文本。例如,以下每个值都是可能的值:

[code]
[code1][code2]
{code}
{code1}{code2}
{code1} Some user entered text. {code2}{code3} Some more user entered text.
Etc. etc.

使用 ColdFusion 我需要做的是提取 {} 和 [] 括号中的代码,以便我可以从数据库中检索它们的描述。例如:

{code1} Some user entered text. {code2}{code3} Some more user entered text.

将变成类似于以下内容的列表:

{code1}|{code2}|{code3}

通常我可以做一些类似 REMatch 的事情,但不幸的是,我被困在运行 ColdFusion 版本 4.5(呻吟(的服务器上,所以我的选择是有限的。

我想也许我可以对字符串进行一些替换以将其转换为管道分隔的列表,然后我可以轻松处理,但我不确定是否有更直接的方法?我什至不确定使用替换处理此问题的明智方法是什么。

<cfset myString = "{code1} Some user entered text {code2}{code3} More user entered text" />
<cfset myArray = listToArray(myString, "{[") />
<cfloop index="i" from="1" to="#arrayLen(myArray)#">
  <cfset myArray[i] = "{" & listFirst(myArray[i], "}]") & "}" />
</cfloop>
<cfdump var="#myArray#" />
<hr>
<cfset myList = arrayToList(myArray, "|") />
<cfdump var="#myList#" />

TryCF.com 要点:
https://trycf.com/gist/6035ddc5cd3daa81bc0943f1af33323a/lucee5?theme=monokai

最新更新