Javascript如何将空格统一为1个空格

Javascript如何将空格统一为1个空格,javascript,string,replace,trim,Javascript,String,Replace,Trim,所以我有一个dubt 例如,如果我有: var string = "The String"; 但我希望字符串总是看起来像“字符串”(如果有多个序列,则只有1个空格) 如何以一种巧妙的方式和动态的方式做到这一点,我的意思是有许多类似的情况: string = "This String"; string = "This String is short"; string = "This is the string"; 我完全不懂rege

所以我有一个dubt

例如,如果我有:

var string = "The     String";
但我希望字符串总是看起来像“字符串”(如果有多个序列,则只有1个空格)

如何以一种巧妙的方式和动态的方式做到这一点,我的意思是有许多类似的情况:

string = "This        String";

string = "This String    is           short";

string = "This is    the   string";

我完全不懂regexp(不仅仅是它),我想这是唯一的方法,呃?

你应该使用regex来获取所有的空格,并用一个来代替它

string.replace(/\s\s+/g, " ");
如果您只希望它在空间上工作而不在选项卡上工作,请使用以下选项:

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

在正则表达式世界中,“+”表示1以及其后的任何其他值。结尾处的“g”表示“全球”,或多次这样做。删除g将替换第一个空格串,但不会替换任何其他空格串。“s”是指所有的空间类型字符,包括“”和Tabs.< /P>,您是否考虑过Google用于“代码> >用一个< /代码>替换多个空间>不值得回答。你的答案一式两份posted@Demilmp我应该选择你的解决方案还是你的解决方案?为什么会这样?@sbaaang在大多数情况下,这并不重要。如果你看到你发布的链接的第二个答案,有人在FireFox中对这些查询进行了基准测试。我将我的答案更新为2“\s”和2”,这似乎是效率的两倍。如果你按照我改的,你应该得到最佳速度(或者非常接近)。