如何在JavaScript中的大写字母前插入空格

时间:2017-05-14 00:54:40

标签: javascript regex string

我有一个字符串,在这个字符串中,我的单词并没有被空格字符分隔,识别它们的唯一方法是查看单词的第一个字母,它总是一个字母信件。我搜索了一下谷歌,但我找不到任何东西。

  

你们认为可以在大写字母前添加空格字符吗?

正如我在标题中所说,我想用JavaScript的方式来做,因为当我在Google上搜索时,我只找到了一种方法来做Ruby,我认为它与JavaScript不同。

2 个答案:

答案 0 :(得分:-1)

这将找到小写字符的每个出现后跟一个大写字符,并在它们之间插入一个空格:

str

答案 1 :(得分:-3)

这就是你解决这类问题的方法:



var str = "TheQuickBrownFo5xJumpedOverTheLazyDog"

str = str.split("");

var letters = [];

letters.push(str[0])
for (i=1; i < str.length; i++) {
  if (str[i].charCodeAt(0) >= 65 && str[i].charCodeAt(0) <= 90) {
    letters.push(" ");
  }
  letters.push(str[i]);
}

console.log(letters.join(""));
&#13;
&#13;
&#13;

首先,你应该用str = str.split("");

分割每个字母

然后你应该创建一个像var letters = [];这样的数组,在for循环中将它作为一个堆栈使用。

您应事先按下第一个字母letters.push(str[0])并从第二个字母开始迭代。

在for循环中,您需要一个控制语句来检查该字母是否为UpperCase字母。您可以通过使用if (str[i].charCodeAt(0) >= 65 && str[i].charCodeAt(0) <= 90)巧妙地实现这一点。请注意,我使用ASCII值来检查它是否是UpperCase。 UpperCase字母的ASCII值是A到Z - > 65至90岁。

如果我们遇到一个UpperCase字母,就像我们将一个白色空格与letters.push(" ")叠加在一起,并且每次在循环结束时我们推送当前字母letters.push(str[i])

最后,我们将这些信件加入letters.join("")