0
我有一個這樣的字符串:如何爲字符串中的所有相同URL定義相同的數字?
var str = "this is [link1][1]
this is [link2][2]
this is [link3][3]
this is [link4][4]
[1]: http://example1.com
[2]: http://example2.com
[3]: http://example1.com
[4]: http://example4.com";
現在我想這樣的:
var str = "this is [link1][1]
this is [link2][2]
this is [link3][1]
this is [link4][4]
[1]: http://example1.com
[2]: http://example2.com
[4]: http://example4.com";
正如你在上面的例子中看到有兩件事情:
- 刪除之間的冗餘
\n
所有這些網址(只有網址) - Remo已經重複的URL和替換refrence數(換句話說,在上面的例子中,因爲第一和第三URL是相同的,那麼
[3]: http://example1.com
拆卸和替換[3]
與[1]
)
有一個正則表達式它匹配[any digit]:
及其兩種url
組:
/(\[[0-9]*]:)\s*(.*)\r?\n?/gm
在str
,該正則表達式匹配:
//group1
$1: [1]:
[2]:
[3]:
[4]:
//group2
$2: http://example1.com
http://example2.com
http://example1.com
http://example4.com
也有另一個正則表達式其中僅刪除鏈接之間的所有廢物\n
:
str.replace(/(^\[[0-9]*]:.*)\n+/gm, $1\n);
好了,我該怎麼辦呢?
那麼輸出似乎是正確的......謝謝。 +1 – stack