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
\w
es 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/g
bandera, solo reemplazará la primera aparición. Y si no define una cadena de reemplazo, aquí un espacio en blanco' '
, reemplazará porundefined
todo 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]/g
o/\d+/g
/[^0-9]/g
o/\D+/g
/[^A-Z0-9]/ig
Hay 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 = 1324567890abcJohnDoe
o 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