[英]Regular Expression Replace in Javascript
Test 1
Test & Test 2
Test,Test 2
Test-Test2
Test/Test2
Test. Test2
Test 1 Test 2 Test 3
Test 1 Test 2 - Test 3, Test 4, Test 5
我有以下字符串數組,我需要通過javascript正則表達式將其替換為將所有這些轉換為小寫並用-
分隔。
預期產出
test-1
test-test-2
test-test2
我一直在使用這個
link = str.replace(new RegExp("[^a-zA-Z0-9-]", "gi"), "-").toLowerCase();
link = link.replace("--", "-");
我將從正則表達式中刪除-
並添加+
來描述要替換的一個或多個字符。
var str = "Test 1 Test 2 - Test 3, Test 4, Test 5"
var regex = new RegExp("[^a-zA-Z0-9]+", "gi");
str.replace(regex, "-").toLowerCase(); // "test-1-test-2-test-3-test-4-test-5"
使用.toLowerCase
和這個正則表達式: /[^a-z0-9-]+/g
'Test & Test 2'.toLowerCase().replace(/[^a-z0-9-]+/g, '-')
#=> 'test-test-2'
+
將匹配1個或多個匹配項,因此它將替換所有連續字符,並將其替換為單個字符-
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.