【问题标题】:How do I split text by every other line?如何将文本每隔一行拆分?
【发布时间】:2020-08-14 00:22:48
【问题描述】:

或者换句话说,每两行?现在我似乎只能按每一行分割。

列表会像这样复制到文本区域中:

风格:
CGV7
织物:
95% 涤纶,5% 弹性纤维
来源:
进口的
保证:
终身保修

这就是我想要的结果

风格:CGV7
面料:95% 涤纶,5% 弹性纤维
来源:进口
保证:终身保修

这是我的代码:

  <textarea id="tables" name="" cols="78" rows="10" onchange="splitIt()"> 
  </textarea>

  function splitIt(){
     var items = [];
     var tablevalues = document.getElementById("tables").value;
     var splitItems =tablevalues.split(/\n/);
       items.push(splitItems);
       console.log(items);
 }   

【问题讨论】:

  • 如何在代码中引入初始词?这些会是 HTML 中的文本吗?它会是一个字符串数组吗? tables 元素是什么 HTML?
  • 我相信它会是 html 中的文本,这些词通常会复制到 textarea 框中
  • 这就是为什么我试图将文本放入一个由其他行分隔的数组中。
  • 请编辑您的问题以显示所有相关代码(包括 HTML)。
  • @ScottMarcus 我刚刚编辑了它并输入了正在输入的文本和我正在寻找的结果,希望这会有所帮助

标签: javascript arrays string split


【解决方案1】:
  let p = text.split('\n');
  let results = '';

  p.forEach((x, index) => {
    if (index%2 !== 0) {
      results = results + x + '\n';
    }
    else {
      results = results +x;
    }
  });
  console.log(results);

您可以通过拆分\n 上的整个字符串来实现此目的,然后您可以将其添加回每个奇数元素 concat。

【讨论】:

    【解决方案2】:

    我希望这是您正在寻找的:

    str.replace(/[\r\n]/g, " ")
       .split(" ")
       .filter((x) => x.trim())
       .join("\n")
    

    已更新,这可能是简短而酷的 :)

    a.split(/:\n/).join(":")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多