-3
我有這種形式的regEx,/\\.br<[0-9]+>\\/g
,我想在正文中用RegEx中的<>之間指示的新行數替換它。取決於RegEx的價值JS
Ex。輸入
Hello \.br<3>\ World!
輸出:
Hello
World!
我有這種形式的regEx,/\\.br<[0-9]+>\\/g
,我想在正文中用RegEx中的<>之間指示的新行數替換它。取決於RegEx的價值JS
Ex。輸入
Hello \.br<3>\ World!
輸出:
Hello
World!
你的正則表達式/\\.br<[0-9]+>\\/g
不正確。在正則表達式上下文中的.
表示「除換行符之外的任何字符」。因此,你需要避開你的正則表達式中的點。
/\\\.br<[0-9]+>\\/g
/(\\\.br<([0-9]+)>\\)/g
接下來,當按照T.J.所推薦的看String.prototype.replace時。克勞德以下解決方案浮現在腦海:
function replacer(match, p1, p2, offset, string) {
let result = '';
for (let i = 0; i < Number(p2); i++) {
result += '\n';
}
return result;
}
var newString = String('Hello \\.br<3>\\ World!').replace(/(\\\.br<([0-9]+)>\\)/g, replacer);
console.log(newString);
注意,在代碼中的硬編碼字符串包含2 \\
,因爲這是一個轉義字符。當您通過某種文本字段從用戶那裏收到字符串時,輸入一個\
就足夠了。
歡迎來到SO。請參閱[如何提出一個好問題](https://stackoverflow.com/help/how-to-ask)。這不是一個代碼寫入服務。 – Utkanos
查看'String.prototype.replace'上的回調。 –
不是*空格數*,但是我認爲換行符的數量 – RomanPerekhrest