【问题标题】:String replace "<br>↵" with commas in javascript array字符串用javascript数组中的逗号替换“<br>↵”
【发布时间】:2017-04-20 12:18:28
【问题描述】:

当我将数组打印到控制台时,我得到以下符号:“&lt;br&gt;↵

如何在 JS 数组中用逗号替换“&lt;br&gt;↵”的所有实例?

例如

["767 5th Ave<br>↵New York, NY 10153, USA", "677 5th Ave<br>↵New York, NY 10022, USA"]

["767 5th Ave, New York, NY 10153, USA", "677 5th Ave, New York, NY 10022, USA"]

值取自:

<address class="main">
  <p>767 5th Ave<br>
  New York, NY 10153, USA</p>
</address>

使用以下代码:

$("address.main p:not(:empty)").each(function() {
  addresses_google[0].push( $(this).html() );
});

【问题讨论】:

  • 所以循环它并对每个索引进行字符串替换

标签: javascript jquery arrays string replace


【解决方案1】:

var addresses = ["767 5th Ave<br>↵New York, NY 10153, USA", "677 5th Ave<br>↵New York, NY 10022, USA"];

var formattedAddresses = addresses.map(function(str) {
  return str.replace(/<br>\u21b5/g, ", ");
});

console.log(formattedAddresses);

更新:

似乎有 html 通过换行符(解释为 ↵ 符号,用于可视化换行符)与普通字符串文字一起被推入此数组。

$("address.main p:not(:empty)").each(function() { 
  addresses_google[0].push( $(this).html() );
});

现在我们知道这是循环的结果,我们可以在循环的代码块中完成这一切,甚至不需要创建一个新数组:

$("address.main p:not(:empty)").each(function() {
  var breaks = /<br>(\r\n|\n|\r)/gm;
  var formattedHTML = this.innerHTML.replace(breaks, ', ');

  addresses_google[0].push(formattedHTML);
});

【讨论】:

  • 我得到完全相同的输出。
  • 还是一样!
  • 运行我的 sn-p 时你看到了什么?
  • 返回完全相同的数组
  • 可能需要解决您希望更改的特定角色,但听起来@CarlEdwards 有一个很好的解决方案。
猜你喜欢
  • 2012-08-16
  • 2012-05-23
  • 2021-08-02
  • 1970-01-01
  • 1970-01-01
  • 2014-12-31
  • 1970-01-01
  • 2010-10-31
  • 1970-01-01
相关资源
最近更新 更多