[英]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.