Coldfusion重新放置查找号码并替换为新号码

时间:2014-12-07 21:06:31

标签: coldfusion

很抱歉,我对Coldfusion很新,我需要一些帮助。

我有一个包含配方方法的字符串。 “将你的烤箱加热到200℃,然后等到内部温度达到60℃”

  1. 我需要用动态计算的值替换字符串中的数值,然后它将如下所示:“将烤箱加热到200c(392f),然后等到内部温度测量为60c(140f)”。 / LI>

    这些数值可以在字符串中的任何位置出现多次。 从C转换为F的计算是C * 9/5 + 32.

    所以我需要使用动态计算的新值重新替换字符串中的所有数字。

    我希望这很清楚。

1 个答案:

答案 0 :(得分:2)

这是我的方法。

<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可能会更好,但我想这个代码示例可以看看如何在没有第三方的情况下完成它。