如何检查字符串是否仅包含一个空格?

时间:2019-01-10 17:46:45

标签: javascript typescript

我知道,如果我想检查1个以上的空间,可以这样做:

  if (str.match(".*  .*")) { 
       console.log('String contains more than 1 space');
   }

但是如何检查字符串是否只有一个字符串,例如:“ t”或“ t”

2 个答案:

答案 0 :(得分:2)

您可以将具有一定数量的非空格,然后是单个空格,然后是更多非空格的字符串匹配到字符串的末尾:

var oneSpace = /^[^ ]* [^ ]*$/;

^$锚非常重要,因为该模式仅匹配完整的字符串,而不仅仅是部分。

答案 1 :(得分:1)

可能的非RE解决方案(也许更快)是使用split,如下所示:

let spaces = str.split(" ").length - 1;
if (spaces > 1) { 
  console.log('String contains more than 1 space');
}