How do I say remove a number preceded by a non-digit and followed by a dash, but leave the preceding non-digit character?
RegExp: /[^\D]4\-/ String: http://localhost/images/4-6-.png Remove: 4-
The 4-
should be removed and it should leave the preceding /
or -
This would work: /4\-/
But it would also remove 14-
or 44-
http://jsfiddle.net/flackend/8s9X9/2/
var category_id = 4; var src = 'http://localhost/images/4-6-.png'; var regexp = new RegExp('[^\\D]'+ category_id +'\\-') $('p').append('regexp: '+ regexp +'<br>'); $('p').append(src +'<br>'); src = src.replace(regexp, ''); $('p').append(src);
You want [\D]
or [^\d]
, but not [^\D]
. Regex is case-sensitive, \d
matches a digit, and \D
matches anything but a digit.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With