在每行的开头添加一个',并在最后一行删除逗号

时间:2019-03-25 23:16:11

标签: javascript html

我有以下代码:

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' />

http://jsfiddle.net/jw7t68f5

如何在每行的开头添加一个'但要删除最后一行的逗号。 (我将拥有三行以上。)

谢谢!

3 个答案:

答案 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)

使用splitmap

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' />