[英]Replace word and characters in string
我正在弄清楚RegExp函數的功能並嘗試創建此字符串:
api/seaarch/redirect/complete/127879/2013-11-27/4-12-2013/7/2/0/0/LGW/null
由此:
/api/search/redirect/complete/127879/2013-11-27/4-12-2013/7/2/0/0/undefined/undefined/undefined/undefined/undefined/undefined/undefined/undefined/undefined/^^undefined^undefined^undefined^undefined^undefined/undefined^undefined^undefined^undefined^undefined^undefined^undefined/undefined^undefined^undefined^undefined^undefined^undefined^undefined/undefined^undefined^undefined^undefined^undefined^undefined^undefined/LGW/null
我知道\\bundefined\\b\\^
刪除了'undefined ^'和undefined\\b\\/
刪除了'undefined /',但是我如何將它們組合在一起?
在這種情況下,由於^
或/
在undefined
位置跟在undefined
位置,因此可以使用字符類:
str = str.replace(/\bundefined[/^]+/g, '');
注意: ^
在字符類的內部和外部都是特殊的,但是以不同的方式。 在字符類( [...]
)中,只有它是第一個字符才是特殊的,因此我沒有將其作為上面的第一個字符。
還要注意末尾的+
,表示^
或/
“一個或多個 ”。 否則,由於有幾個double ^^
,結果將以^
結束。
如果您想變得有點偏執(我承認我可能會這樣),則可以在字符類中轉義/
。 對我來說,如果您不使用Chrome的實現,它就可以工作,但是嘗試遵循規范中的模式定義會很麻煩……所以,老實說,我不知道是否有任何實現會嘗試結束字符類中以/
開頭的表達式。 因此,使用轉義符:
str = str.replace(/\bundefined[\/^]+/g, '');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.