簡體   English   中英

替換字符串中的單詞和字符

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

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