【问题标题】:Javascript how to unify blank spaces into 1 blank space [duplicate]Javascript如何将空格统一为1个空格[重复]
【发布时间】:2014-06-03 04:13:30
【问题描述】:

所以我有一个配音

如果我有:

var string = "The     String";

但我希望字符串总是看起来“字符串”(如果有多个序列,则只有 1 个空格)

如何以一种聪明的方式和动态地做到这一点,我的意思是有很多这样的情况:

string = "This        String";

string = "This String    is           short";

string = "This is    the   string";

我在正则表达式方面完全是愚蠢的(不仅在它上面),我想这是唯一的方法吗?

【问题讨论】:

  • 你考虑过用谷歌搜索replace multiple spaces with one

标签: javascript string replace trim


【解决方案1】:

您应该使用正则表达式来获取所有空格并将其替换为一个

string.replace(/\s\s+/g, " ");

如果您只希望它在空格而不是制表符上工作,请使用:

string.replace(/  +/g, " ");

在正则表达式世界中,“+”表示 1 以及它后面的任何一个。末尾的“g”表示“全局”,或者不止一次。删除 g 将替换第一个空格字符串,但不会替换任何其他空格。 "\s" 表示所有空格类型的字符,包括 " " 和制表符。

【讨论】:

  • 不值得回答。您的答案在我发布的副本中
  • @Demilmp 我应该选择您的解决方案还是 stackoverflow.com/questions/1981349/… 解决方案?为什么会这样?
  • @sbaaaang 在大多数情况下,这并不重要。如果您查看您发布的链接的第二个答案,则有人在 FireFox 中对查询进行了基准测试。我更新了我的答案有 2 个“\s”和 2 个“”,这似乎是效率的两倍。如果您按照我更改的方式进行,您应该获得最佳速度(或非常接近它)。
猜你喜欢
  • 2017-09-14
  • 2017-06-08
  • 1970-01-01
  • 2013-07-03
  • 1970-01-01
  • 2019-12-14
  • 1970-01-01
  • 2021-08-21
相关资源
最近更新 更多