Quiero que esta cadena {Rotation:[45f,90f],lvl:10s} se convierta en {Rotation:[45,90],lvl:10} .
He intentado esto:
const bar = `{Rotation:[45f,90f],lvl:10s}` const regex = /(\d)\w+/g console.log(bar.replace(regex, '$&'.substring(0, -1))) También intenté seleccionar la letra al final usando $ pero parece que no puedo hacerlo bien.
Puedes usar
bar.replace(/(\d+)[az]\b/gi, '$1')Vea la demostración de expresiones regulares . Aquí,
(\d+) - captura uno o más dígitos en el Grupo 1[az] - coincide con cualquier letra\b - en el límite de la palabra, es decir. al final de la palabragi - todas las apariciones, no distingue entre mayúsculas y minúsculas El reemplazo es el valor del Grupo 1, $1 .
Vea la demostración de JavaScript:
const bar = `{Rotation:[45f,90f],lvl:10s}` const regex = /(\d+)[az]\b/gi console.log(bar.replace(regex, '$1'))La siguiente expresión regular coincidirá con cada grupo de uno o más dígitos seguidos de f o s .
$1 representa el contenido capturado por el grupo de captura (\d) .
const bar = `{Rotation:[45f,90f],lvl:10s}` const regex = /(\d+)[fs]/g console.log(bar.replace(regex, '$1'))Mira esto :
const str = `{Rotation:[45f,90f],lvl:10s}`.split(''); const x = str.splice(str.length - 2, 1) console.log(str.join(''));