Home > Software design >  Remove all special consecutive characters
Remove all special consecutive characters

Time:04-22

Hopefully a simple one but I can't find any exact thread on SO for this particular instance:

If I have a string with multiple special characters in a row i.e 'this-is--a---string' I want to remove all duplicate non alphanumeric characters with regex so it would end up as 'this-is-a-string'

The closest i've found is .replace(/(.)\1 /g, '$1') but this removes duplicate letters rather than just special characters.

On a side note if anyone knows how to remove any non alphanumeric characters from the end of a string with regex then that would be really useful too!

Thanks in advance!

CodePudding user response:

Since you want to collapse only repeated non alphanumeric characters, it should be enough to change your regex replacing the . character class with something that will negate the alphanumeric group [^a-zA-Z0-9].

subject = "a---------------bbbbbb6times_______@@@@@@";

var myregexp = /([^a-zA-Z0-9])\1 /mg;
result = subject.replace(myregexp, "$1");

console.log(result);

  • Related