[英]Regular Expression for replacing string
我如何編寫正則表達式以刪除雙破折號-變成單破折號-並且如果字符串以破折號開頭或結尾以空字符串替換。
var oldString = "abc--xyz--"
var filtered = oldStringt.replace(???????);
樣本輸入>>>>輸出
abc--xyz-- >>>>> abc-xyz
abc---xyz-123 >>>>> abc-xyz-123
--abc-xyz-123 >>>>> abc-xyz-123
oldString.replace(/-+/g,"-").replace(/(^-+)|(-+$)/g,"");
這是一個應該起作用的正則表達式:
oldString.replace(/^-+|-+$|(-)+/g, '$1')
測試: http : //jsfiddle.net/kd9g3/
現在,我知道您已經明確要求使用regexp,但是像這樣的許多替換操作也可以使用數組來完成(有時更快):
oldString.split(/-+/).filter(function(e){return !!e}).join('-')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.