Tengo una cadena y quiero eliminar estos datos así \(f(x) = (a+b)\)
así que estoy pensando en obtener todas las subcadenas y luego hacer alguna operación en la matriz. Pero me está dando solo un HTML rayado. Así que no puedo conseguir cómo limpiarlo. Solo quiere eliminar estas ecuaciones.
El resultado será: Aquí está la evidencia
const filter_data = `<p>\(f(x) = (a+b)\)</p><p>\(f(x) = (a+db)\)</p><p>\(f(x) = (a+d+c+b)\)</p> <p>Here's the evidence.</p>` var strippedHtml = filter_data.substring( filter_data.lastIndexOf("\(") + 1, filter_data.lastIndexOf("\)") ); console.log(strippedHtml)Puede usar las siguientes expresiones regulares para obtener una solución solo para el tipo de datos similar que se le proporcionó
const filterData1 = `<p>\(f(x) = (a+b)\)</p><p>\(f(x) = (a+db)\)</p><p>\(f(x) = (a+d+c+b)\)</p><p>Here's the evidence.</p>` const filterData2 = `<p>\(f(x) = (a+b)\)</p><p>\(f(x) = (a+db)\)</p><p>\(f(x) = (a+d+c+b)\)</p><p>Here's the evidence.</p><p>\(f(x) = (a+b)\)</p>` const regEx1 = /<[^>]*>/g //regular expression to remove all html tags const regEx2 = /\([^\)]*\)/g //regular expression to remove everything between \( and \) const regEx3 = /[=)]/g //regular expression to remove = and ) const result1 = filterData1.replace(regEx1,'').replace(regEx2,'').replace(regEx3,'').trim() const result2 = filterData2.replace(regEx1,'').replace(regEx2,'').replace(regEx3,'').trim() console.log("Result1 : ",result1); console.log("Result2 : ",result2);JS tiene un método de reemplazo para esto que acepta RegExp:
const filter_data = `<p>\(f(x) = (a+b)\)</p><p>\(f(x) = (a+db)\)</p><p>\(f(x) = (a+d+c+b)\)</p> <p>Here's the evidence.</p>`; var strippedHtml = filter_data.replace(/\<.*?\(.*?>/g, ""); console.log(strippedHtml); RegExp busca un < seguido de un ( y luego un > y reemplaza todas las apariencias con un valor vacío.
En su cadena, coincidirá dos veces y hará un reemplazo. Tal vez tenga que modificar RegExp para que se ajuste a su cadena real, ya que también coincidiría con los nodos de texto que contienen ( pero eso es lo que haría en este punto con los datos proporcionados.