簡體   English   中英

用於替換字符串的正則表達式

[英]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 

鏈接替換如何:

str.replace(/[-]+/g, '-').replace(/[-]+$/g, '').replace(/^[-]+/g, '')

在這里擺弄

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM