Tengo una aplicación VueJS con un formulario con datos precargados. Un elemento de área de texto tiene algunos datos como los que se muestran en la interfaz de usuario
Nota: (lo siento, todavía no tengo suficientes puntos de repetición para adjuntar una captura de pantalla):
captura de pantalla del elemento del área de texto de la interfaz de usuario con comillas
No puedo modificar la forma en que el backend sirve los datos.
Por lo tanto, ¿hay alguna buena manera de eliminar las comillas PRIMERO y ÚLTIMO de una cadena? No quiero tocar el texto interno en caso de que el usuario agregue comillas dentro.
El resultado esperado de 'Hello World, bienvenido a "fooWorld!"' será Hello World, bienvenido a 'fooWorld!'
Aquí hay un ejemplo del mundo real de cómo estoy usando los datos en mi SPA:
data() { return { entryNotes: this.post.entryNotes //<--- this is the data I need to format } }¿Qué tal una expresión regular rápida para deshacerse de las comillas de inicio y final?
data(){ return { entryNotes: this.post.entryNotes.replace(/^"/,"").replace(/"$/,"") } }La primera expresión regular busca el comienzo de la cadena (simbolizado por ^) y luego una comilla. La segunda expresión regular busca una comilla y luego el final de la cadena (el final de la cadena está simbolizado por $).
También podrías hacer esto:
str.match(/^"?(.+?)"?$/)[1]Este busca el comienzo de la cadena (^) seguido de ", pero el ? lo hace opcional. Luego, el paréntesis captura .+, lo que significa que coincide con cualquier cosa. El ? antes del final del paréntesis significa que deja de coincidir tan pronto como puede. Luego dice busque una comilla, pero el siguiente signo de interrogación dice "posiblemente", luego busque el final de la cadena ($).