我有以下代码:
function addComma() {
// get textarea's content
var content = document.getElementById('myTextArea').value;
// replace all newline's with ';\n'
var replaced = content.replace(/\n/g, '\',\n');
// rewrite the content with the new content
document.getElementById('myTextArea').value = replaced;
}
<textarea id='myTextArea' rows='5' cols='30'>
First Line
Second Line
Third Line
</textarea>
<input type='button' onclick='addComma()' value='Add Comma' />
如何在每行的开头添加一个'但要删除最后一行的逗号。 (我将拥有三行以上。)
谢谢!
答案 0 :(得分:1)
这是一种略有不同的方法,我认为这是您想要的结果:
var replaced = content.split('\n').map(l => "'" + l + "'").join(',\n')
这是将内容分成一个数组(通过新行),map
函数将基本上遍历每行并在开头和结尾添加',最后join
将使用逗号和换行符将数组重新连接成字符串
答案 1 :(得分:1)
我的过滤器确保没有空行;无需子字符串摆弄。
var replaced = content.split('\n').filter(p=>p!="").map(p=>'\''+p).join(',\n');
答案 2 :(得分:0)
使用split
和map
:
function addComma() {
var content = document.getElementById('myTextArea').value;
//Add in commas and speech marks
var replaced = content.split("\n").map(e => `'${e}',`).join("\n");
//Remove last comma
replaced = replaced.substring(0, replaced.length - 1);
//Put text back into page
document.getElementById('myTextArea').value = replaced;
}
<textarea id='myTextArea' rows='5' cols='30'>
First Line
Second Line
Third Line</textarea>
<input type='button' onclick='addComma()' value='Add Comma' />