Javascript 是否有办法将大小写中变量的内容更改为空格分隔的单词?
我有一个变量,它包含以下内容:Javascript 是否有办法将大小写中变量的内容更改为空格分隔的单词?,javascript,Javascript,我有一个变量,它包含以下内容: var a = "hotelRoomNumber"; 有没有办法从中创建一个包含“Hotel Room Number”的新变量?我需要对大写字符进行拆分,但我以前从未见过这样做。好吧,您可以使用正则表达式,但构建新字符串更简单: var a = "hotelRoomNumber"; var b = ''; if (a.length > 0) { b += a[0].toUpperCase(); for (var i = 1; i != a.
var a = "hotelRoomNumber";
有没有办法从中创建一个包含“Hotel Room Number”的新变量?我需要对大写字符进行拆分,但我以前从未见过这样做。好吧,您可以使用正则表达式,但构建新字符串更简单:
var a = "hotelRoomNumber";
var b = '';
if (a.length > 0) {
b += a[0].toUpperCase();
for (var i = 1; i != a.length; ++i) {
b += a[i] === a[i].toUpperCase() ? ' ' + a[i] : a[i];
}
}
// Now b === "Hotel Room Number"
我在这里做了一个函数:
函数cameltospacespected(字符串)
{
var char,i,spaceseparated='';
//遍历每个字符
对于(i=0;i0&&char===char.toUpperCase()){//if为大写
空格分隔+=''+字符;
}否则{
空格分隔+=字符;
}
}
//将第一个字符设为大写
SpaceSeparated=SpaceSeparated.charAt(0).toUpperCase()+SpaceSeparated.substr(1);
返回空间分离;
}
一般的想法是遍历字符串中的每个字符,检查当前字符是否已大写,如果已大写,则在其前面加一个空格
var str = "mySampleString";
str = str.replace(/([A-Z])/g, ' $1').replace(/^./, function(str){ return str.toUpperCase(); });
是的,但您希望如何处理字符串,例如
“TMNT太酷了!”
?字符串开头的多余空间。“A”变成“A”。谢谢杰克林指出这一点。检查它是否是if条件中的第一个字符,或者在返回之前简单地修剪字符串就可以做到这一点。
var str = "mySampleString";
str = str.replace(/([A-Z])/g, ' $1').replace(/^./, function(str){ return str.toUpperCase(); });