在Javascript

时间:2017-04-14 13:07:00

标签: javascript string

没有比普通连接用HTML标记(或括号,引号或空格)包围字符串更好的方法吗?

因此“愚蠢的问题”

非常相似的问题值得注意,值得拥有自己的API函数:

编辑:对于Javascript的创建者来说,这些问题显然不是愚蠢的。

谁更可能是愚蠢的:Javascript的创建者还是你?

用例

我希望我能写出类似的东西:

  1. div.innerHTML = rawstr.split("\n\n").join("", "<p>", "</p>");
  2. newstr = oldstr.split(/\s+“|”\s+/g).join(" ", "\"", "\"");
  3. var str = "Joan – despite her curly hair – is loved.";
    return str.split(/\s+–/s+/g).join(" ", "(", ")");
  4. var str = "Joan (despite her curly hair) is loved.";
    return str.split(/\s+\(|\)/s+/g).join(" – ");←哦,等等......我已经可以做到这一点了。
  5. ...而不是:

    1. div.innerHTML = rawstr.split("\n\n").map(str => "<p>" + str + "</p>")).join("");
    2. newstr = oldstr.split(/\s+“|”\s+/g).map(str => "\"" + str + "\"")).join(" ");
    3. 一个)
      var str = "Joan – despite her curly hair – is loved.";
      var p = str.split(/\s+–/s+/g);
      return p[0] + " " + "(" + p[1] + ")" + " " + p[2];
      B)
      var str = "Joan – despite her curly hair – is loved.";
      var p = str.split(/\s+–/s+/g);
      p[1] = "(" + p[1] + ")";
      return p.join(" ");
    4. -

    当我能做到这一点时,我的生命就会完整。

1 个答案:

答案 0 :(得分:-2)

使用ES6模板文字更容易:

div.innerHTML = rawstr.split("\n\n").map(str => `<p>${str}</p>`)).join("");
newstr = oldstr.split(/\s+“|”\s+/g).map(str => `"${str}"`)).join(" ");
`${p[0]} (${p[1]}) ${p[2]}`