希望是一個簡單的,但對于這個特定的實體,我在 SO 上找不到任何確切的執行緒:
如果我有一個字串在一行中有多個特殊字符,即'this-is--a---string'我想用正則運算式洗掉所有重復的非字母數字字符,那么它最終會是'this-is-a-string'
我發現的最接近的是.replace(/(.)\1 /g, '$1'),但這會洗掉重復的字母而不僅僅是特殊字符。
附帶說明一下,如果有人知道如何使用正則運算式從字串末尾洗掉任何非字母數字字符,那么這也將非常有用!
提前致謝!
uj5u.com熱心網友回復:
由于您只想折疊重復的非字母數字字符,因此更改您的正則運算式替換.字符類應該足以否定字母數字組[^a-zA-Z0-9]。
subject = "a---------------bbbbbb6times_______@@@@@@";
var myregexp = /([^a-zA-Z0-9])\1 /mg;
result = subject.replace(myregexp, "$1");
console.log(result);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/460849.html
標籤:javascript 正则表达式
上一篇:如何在JavaScript中將List<Pair<String,String>>轉換為List<String>?
