我有一个字符串,在这个字符串中,我的单词并没有被空格字符分隔,识别它们的唯一方法是查看单词的第一个字母,它总是一个字母信件。我搜索了一下谷歌,但我找不到任何东西。
你们认为可以在大写字母前添加空格字符吗?
正如我在标题中所说,我想用JavaScript的方式来做,因为当我在Google上搜索时,我只找到了一种方法来做Ruby,我认为它与JavaScript不同。
答案 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;
首先,你应该用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("")