'Remove all special consecutive characters
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!
Solution 1:[1]
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);
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Diego De Vita |
