删除缩进,但在模板文字中保留换行符

Dsh*_*hiz 3 javascript template-literals

我有以下模板文字:

let message = `
    1 call
    Alert time: 6:00:57 PM
    `
Run Code Online (Sandbox Code Playgroud)

我已经尝试了这里的各种答案,但是对于我正在使用的 API,这些解决方案都无法正常工作。这些解决方案似乎导致开头反引号和结尾反引号之后的换行符与缩进一起被删除。

因为这种情况正在发生,所以我正在使用的 API 将模板文字视为没有换行符的单个字符串。

如何保留所有换行符但仅删除1 calland前面的缩进Alert time: 6:00:57 PM

我的预期输出是这样的:


1 call
Alert time: 6:00:57 PM

Run Code Online (Sandbox Code Playgroud)

Cer*_*nce 5

正则表达式可以匹配行开头的空格字符并将其替换为空字符,而保留换行符:

message.replace(/^ +/gm, '')
Run Code Online (Sandbox Code Playgroud)

演示:

message.replace(/^ +/gm, '')
Run Code Online (Sandbox Code Playgroud)
let message = `
    1 call
    Alert time: 6:00:57 PM
    `
document.querySelector('textarea').value = message.replace(/^ +/gm, '');
Run Code Online (Sandbox Code Playgroud)