Me estoy quedando atascado en JavaScript tratando de modificar mis cadenas.
Estoy usando Met-Office APT para extraer cadenas de pronóstico del tiempo. El problema es que la temperatura en ellos no tiene un símbolo de grado, es decir:
"Temperatura máxima 15C".
¿Cómo buscar dentro de una cadena aleatoria un valor de temperatura y reemplazar "C" con "grados" o insertar un símbolo de grado entre el valor y la C?
Esto podría ser realmente simple, pero solo soy un novato.
Mi objetivo es enviar una cadena modificada a través del servicio TTS.
Si lo tiene como una cadena, reemplace la cadena con una expresión regular que coincida con su patrón de uno o más números seguidos de C
let yourString = "Maximum Temperature 15C."
yourString = yourString.replace(/(\d+)([CF])/,'$1°$2');
console.log(yourString);
Puedes probar esta solución imperativa
const addTempratureUnit =(temperatureDetails,unit,symbol)=>{
let outputTempratureDetails=""
for (let i=0;i<temperatureDetails.length;i++){
if(temperatureDetails[i]===unit&&(temperatureDetails[i-1]!==""&&!isNaN(temperatureDetails[i-1]))){
outputTempratureDetails+=symbol
}else{
outputTempratureDetails+=temperatureDetails[i]
}
}
return outputTempratureDetails
}
const temperatureDetails="Maximum Temperature 15C."
const modifiedTemperatureDetails=addTempratureUnit(temperatureDetails,"C","°C")
console.log(modifiedTemperatureDetails)