ParisNakitaKejser
ParisNakitaKejser

Reputation: 14849

Replace multi chars - regular expression

i trying to do if there are more then one - in my string its replace to a single - eg.

--- replace to -

or test---demo replace test-demo

my function is

function strconvert( str ) {
  var ret = str;

  ret = ret.replace( /ø/g, 'oe' );
  ret = ret.replace( /Ø/g, 'OE' );
  ret = ret.replace( /å/g, 'aa' );
  ret = ret.replace( /Å/g, 'AA' );
  ret = ret.replace( /æ/g, 'ae' );
  ret = ret.replace( /Æ/g, 'AE' );
  ret = ret.replace( /\_/g, '-' );

  ret = ret.replace(/[^a-zA-Z0-9\/-]/ig,'-').replace(/_+/ig,'-').toLowerCase();

  return ret;
}

Upvotes: 1

Views: 47

Answers (1)

Pranav C Balan
Pranav C Balan

Reputation: 115222

You can use replace( /-+/g, '-' );

ret = ret.replace( /-+/g, '-' );

Update : You can combine .replace(/_+/g,'-').replace(/-+/g,'-') to .replace(/[_-]+/g,'-')

Upvotes: 3

Related Questions