抱歉,我是Coldfusion的新手,我需要一些帮助。
我有一个包含食谱方法的字符串。"将烤箱加热到 200c,然后胡说八道,直到内部温度达到 60c">
- 我需要将字符串中的数值替换为动态计算的值,然后它看起来像这样:"将烤箱加热到 200c (392f(,然后等等,直到内部温度测量到 60c (140f("。
这些数值可以在字符串中的任何位置多次出现。从 C 转换为 F 的计算是 C * 9/5 + 32。
所以我需要用动态计算的新值重新替换字符串中的所有数字。
我希望这是清楚的。
这是我
的方法。
<cfscript>
sString = "Heat your oven to 200c and then cook till the temp internally is 60c";
aFind = ReMatchNoCase("d+c",sString);
x = 0;
while(x < arrayLen(aFind)){
x++;
nCalc = RematchNoCase("d+",aFind[x])[1];
nCalc = nCalc*9/5+32;
sString = ReReplaceNoCase(sString,aFind[x],'#aFind[x]# (#ncalc#F)');
}
writeOutput(sString);
</cfscript>
Adams 链接的 UDF 可能更好,但我想这个代码示例可以看看如何在没有第三方的情况下完成它。