0
我有一个从API返回的字符串,我想添加包含温度的度符号(“明天将是89F的高位”→“明天将是89°F的高位”) 。正则表达式看起来像我的变量forecastString
?如何在度量符号中添加Javascript字符串中的温度?
我有一个从API返回的字符串,我想添加包含温度的度符号(“明天将是89F的高位”→“明天将是89°F的高位”) 。正则表达式看起来像我的变量forecastString
?如何在度量符号中添加Javascript字符串中的温度?
此替换将工作:
forecastString = forecastString.replace(/[0-9]{1,3}F/g, function addDegreeSymbol(x){return x.replace("F", "°F");});
forecastString = forecastString.replace(/[0-9]{1,3}C/g, function addDegreeSymbol(x){return x.replace("C", "°C");});
正则表达式发现的1-3位的任何数字由F/C紧接着,和替换°F的F/C /℃
为什么不是
forecastString.replace(/\b(\d{1,3})(?=[FC]\b)/, "$1°");
?你确定不区分大小写吗?
即将发布相同,但我会在数字前添加'\ b',否则3的上限是无用的。我认为在这种情况下区分大小写是有意义的,因为单位符号是大写字母。另一方面,可以在数字后面添加'\ s *'以允许空格。 –
“为什么不?”的答案是因为我是一个noob :) – xd1936
@ xd1936我更新了正则表达式。如果你愿意,我建议你使用unicode符号'℃'和'℉'。 – horcrux