tengan significados significado segun raras que palabras paises otros español diferentes contexto con cambian bonito javascript regex text performance

javascript - significados - método eficiente para reemplazar palabras múltiples en el texto



palabras que tengan 2 significados (3)

Con JavaScript necesito eliminar de manera eficiente ~ 10000 palabras clave de un documento de ~ 100000 palabras, de las cuales ~ 1000 serán palabras clave. ¿Qué enfoque sugerirías?

¿Sería práctica una expresión regular masiva ? ¿O debería simplemente iterar a través de los caracteres del documento buscando palabras clave (aburrido)?

Editar:
Buen punto: solo palabras completas, no partes. Y algunas palabras clave contienen espacios.
Estoy tratando de hacerlo todo del lado del cliente para reducir la presión en el back-end.


Mi instinto me dice que para una cantidad tan grande de palabras clave, clasificar las palabras clave y crear una máquina de estado por carácter sería mucho más rápido que una expresión regular, ya que la máquina de estado es trivial, se puede generar automáticamente.



Usar una expresión regular podría ser una buena opción:

var words = [''bon'', ''mad'']; ''joe bon joe mad''.replace(new RegExp(''('' + words.join(''|'') + '')'', ''g''), ''''); // ''joe joe ''

La expresión regular 1 no es muy complicada con cosas como la búsqueda anticipada, y el motor de expresiones regulares está escrito en C / C ++, por lo que puede esperar que sea bastante rápido. Sin embargo, compare y compare si el rendimiento se ajusta a sus necesidades.

No creo que la implementación de su propio analizador sea más rápida, pero podría estar equivocado, punto de referencia.

Enviar el documento al servidor no me parece muy bueno. Con 100k de palabras estás mirando una carga en el rango de megabytes, y aún tienes que hacer algo con eso en el servidor y empujarlo hacia atrás.

1 Puede que tenga que sintonizar la expresión regular para hacer algo con los espacios.