Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否有办法将大小写中变量的内容更改为空格分隔的单词?_Javascript - Fatal编程技术网

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(); });