/ / come rimuovere (o regexare) un carattere unicode da una stringa in javascript? - javascript, unicode

come rimuovere (o regexare) un carattere unicode da una stringa in javascript? - javascript, unicode

Un sito web che sto modding con un userscript ne ha alcunitesto che voglio modificare. Sembra che il testo abbia un carattere unicode. Quando lo guardo sullo schermo o lo estrai anche a una variabile con jQuery, esso sembra come questo:

2 others

Tuttavia, se creo la mia variabile con quello stesso testo e poi faccio un confronto, vengono visualizzati come falsi. Così ho copiato / incollato il testo del sito in vim e assomiglia a questo:

2<200e> others

Meglio posso dire che questo è un carattere unicode per lo spazio (?). Voglio essere in grado di abbinare questa stringa con un'espressione regolare come:

^(d+(?:,d+)*)s+(.*)

ma su questa stringa con il carattere unicode incorporato fallisce. (Funziona bene sul mio testo digitato di "2 altri").

C'è un modo per rimuovere questo unicode dal testo? Ho provato il seguente, senza alcun risultato:

text.replace("u200e","")

text.replace("200e","")

text.replace("%20","")

text.replace("%u200e","")

Oppure, in alternativa, posso regolare la mia espressione regolare per far corrispondere "altri 2" o lo stesso testo con il char unicode 200e incorporato?

risposte:

4 per risposta № 1

Prova invece a utilizzare una regex effettiva.

text = text.replace(/u200e/g, "");

posso regolare la mia espressione regolare per far corrispondere "altri 2" o lo stesso testo con il char unicode 200e incorporato?

Potresti semplicemente cambiare il s nella tua espressione regolare per includere anche U + 200E, ad es.

^(d+(?:,d+)*)[su200e]+(.*)