簡體   English   中英

Javascript 將正則表達式 \\\\n 替換為 \\n,\\\\t 替換為 \\t,\\\\r 替換為 \\r 等等

[英]Javascript replace regexp \\n with \n, \\t with \t, \\r with \r and so on

我有一個 HTML 輸入字段,用戶可以在其中輸入分隔符。

此分隔符可以包括\\n, \\t, \\r等。 當我將分隔符附加到 javascript 中的字符串時,它會附加為 \\n 而不是換行符。

雖然我可以使用str.replace(/\\\\n/g, "\\n")等來替換一個變體,但如果我編寫一個像str.replace(/\\\\([az])/g, "\\$1")因為這只是再次用 \\n 替換了 \\n。

我如何重寫 RegExp 以替換字符前面的所有雙反斜杠?

沒有用轉義序列替換文字的快捷方式,但您可以使用它:

 const cmap = {'n': '\\n', 't': '\\t', 'r': '\\r'} var str = `value1\\rvalue2\\tvalue3\\nvalue4` str = str.replace(/\\\\([nrt])/g, m => {return cmap[m[1]]}) console.log(str)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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