Estaba tratando de obtener un número entero de la siguiente cadena y convertirlo nuevamente, reemplazarlo. Necesita un patrón de expresiones regulares para obtener la matriz mtr, km de la cadena. Una pequeña ayuda será muy apreciada.
let stringText = "Please continue for 290 m. And then take left and continue for 1.2 km."; console.log(stringText); let mtr_pattern = ""; let kn_pattern = ""; let numArr = stringText.match(/\d+\.\d+|\d+\b|\d+(?=\w)/g) || []); numArr = numArr.filter(n => n != '.'); console.log("numArry", numArr);la salida debe ser: Continúe durante 0,18 millas. Y luego gire a la izquierda y continúe durante 0,74 millas.
Podrías tomar el valor numérico y la unidad. Luego convierta el valor a millas.
let km2miles = km => km * 0.621371, string = "Please continue for 290 m. And then take left and continue for 1.2 km.", result = string.replace( /(\d+\.?\d*) (k?m)/g, (_, a, b) => km2miles(b === 'km' ? a : a / 1000).toFixed(2) + ' miles' ); console.log(string); console.log(result);