Estoy tratando de averiguar la expresión regular que coincidirá con cualquier carácter que no sea una letra o un número. Entonces, caracteres como (,, @, £, (), etc.
Una vez encontrado, quiero reemplazarlo con un espacio en blanco.
Algún consejo.
javascript
regex
James Jeffery
fuente
fuente

\wes para caracteres de Word y es exactamente igual que[a-zA-Z0-9_](observe que el guión bajo se considera un carácter de palabra) ... por lo que la taquigrafía seríastr.replace(/[^\w]/g, ' ')Esta expresión regular coincide con cualquier cosa que no sea una letra, un dígito o un carácter de subrayado (
_).Por ejemplo en JavaScript:
fuente
Estás buscando:
Esto reemplaza todos los caracteres no alfanuméricos con un espacio.
La "g" al final reemplaza todas las apariciones.
En lugar de especificar az (en minúsculas) y AZ (mayúsculas) también se puede utilizar la en-entre mayúsculas y minúsculas opción:
/[^a-z0-9]/gi.fuente
Esto es demasiado tarde, pero dado que no hay una respuesta aceptada, me gustaría proporcionar la que creo que es la más simple: \ D - coincide con todos los caracteres que no son dígitos.
Resultados en x: "12323525"
Ver https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
fuente
intente hacer str.replace (/ [^ \ w] /); ¡Reemplazará todos los números y no alfabetos de su cadena!
Edición 1:
str.replace(/[^\w]/g, ' ')fuente
str.replace(/[^\w]/g, ' '). Si no incluye la/gbandera, solo reemplazará la primera aparición. Y si no define una cadena de reemplazo, aquí un espacio en blanco' ', reemplazará porundefinedtodo el lugar. Finalmente, los guiones bajos no serán reemplazados porque coinciden\w. Esta respuesta no encaja perfectamente.Solo para que otros vean:
eliminará los caracteres Unicode que no sean letras ni números.
Fuente
fuente
replaceAll, y los\p{..}escapes de propiedad no están ampliamente implementados./[A-Z]/ig/[^A-Z]/ig/[0-9]/go/\d+/g/[^0-9]/go/\D+/g/[^A-Z0-9]/igHay otros patrones posibles
fuente
¿Lo ha probado?
str = str.replace(/\W|_/g,'');Devolverá una cadena sin ningún carácter y puede especificar si algún carácter especial después de la barra de tubería|para capturarlos también.var str = "1324567890abc§$)% John Doe #$@'.replace(/\W|_/g, '');volverástr = 1324567890abcJohnDoeo busque dígitos y letras y reemplácelos por una cadena vacía (""):
var str = "1324567890abc§$)% John Doe #$@".replace(/\w|_/g, '');volverástr = '§$)% #$@';fuente
Para hacer coincidir cualquier cosa que no sea letra o número o letra con signos diacríticos como
é, puede intentar esto:Y para reemplazar:
Inspirado en el poste superior con soporte para diacríticos
fuente
fuente