I would like to remove all special characters (except for numbers) from a string. I have been able to get this far

var name = name.replace(/[^a-zA-Z ]/, ""); 

but it seems that it is removing the first number and leaving all of the others.

For example:

name = "collection1234"; //=> collection234 

or

name = "1234567"; //=> 234567 
2

5 Answers

Use the global flag:

var name = name.replace(/[^a-zA-Z ]/g, ""); ^ 

If you don't want to remove numbers, add it to the class:

var name = name.replace(/[^a-zA-Z0-9 ]/g, ""); 
4

To remove the special characters, try

var name = name.replace(/[!@#$%^&*]/g, ""); 
2

If you don't mind including the underscore as an allowed character, you could try simply:

result = subject.replace(/\W+/g, ""); 

If the underscore must be excluded also, then

result = subject.replace(/[^A-Z0-9]+/ig, ""); 

(Note the case insensitive flag)

to remove symbol use tag [ ]

step:1

[] 

step 2:place what symbol u want to remove eg:@ like [@]

[@] 

step 3:

var name = name.replace(/[@]/g, ""); 

thats it

var name="ggggggg@fffff" var result = name.replace(/[@]/g, ""); console .log(result)

Extra Tips

To remove space (give one space into square bracket like []=>[ ])

[@ ] 

It Remove Everything (using except)

[^place u dont want to remove] 

eg:i remove everyting except alphabet (small and caps)

[^a-zA-Z ] 
var name="ggggg33333@#$%^&**I(((**gg@fffff" var result = name.replace(/[^a-zA-Z]/g, ""); console .log(result)

This should work as well

text = 'the car? was big and* red!'

newtext = re.sub( '[^a-z0-9]', ' ', text)

print(newtext)

the car was big and red

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy