【问题标题】:javascript split('\n') and not ('\n\n')javascript split('\n') 而不是 ('\n\n')
【发布时间】:2016-04-08 11:27:28
【问题描述】:

我正在尝试制作一个过滤器,将所有\n 拆分并重新加入它们为\n\n。有没有办法绕过所有\n\n 组合,只针对单个\n?现在的问题是,每次我不关注输入时,过滤器都会触发并在现有的双空格中添加额外的空格。 工作小提琴:https://jsfiddle.net/oe7axeab/701/

        filters: {
        lyrics: {
            write(input) {
                var line = input,
                        bomb = line.split("\n"),
                        group = bomb.join("\n\n");

                return group;
            },
        },
        marked: marked
    }

【问题讨论】:

  • 尝试 .replace("\n\n", 'FOOBARBLABLABLA');然后拆分单个,然后 .replace("FOOBARBLABLABLA", "\n\n") 返回
  • 您是否要将奇数 \n 替换为偶数,即在 \n\n\n 的情况下您想将其转换为 \n\n\n\ 或不想触摸它
  • 这很好用
  • 您可以先将所有 \n\n 替换为 \n 以“规范化”换行符,然后将所有 \n 转换为 \n\n。

标签: javascript split vue.js


【解决方案1】:

我正在尝试创建一个正则表达式,其中将仅选择 \n 的单个实例并将其转换为 \n\n

var str = 'test \n test1 \n\n test2 \n test3 \n\n';

    **var regex = /([^\n]+)\n([^\n]+)/g;**

    if (str.match(regex)) {
        str = str.replace(regex, "$1" + "\n\n" + "$2");
    }

输出:'test \n\n test1 \n\n test2 \n\n test3 \n\n'

【讨论】:

    猜你喜欢
    • 2021-12-14
    • 2014-12-17
    • 2010-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 2011-02-16
    • 1970-01-01
    相关资源
    最近更新 更多