javascript中的字符串解析
我有字符串MetadataCompanyTotal,它是驼峰大小写。 我需要在字符串之间插入空格 输入是javascript中的字符串解析,javascript,arrays,string,Javascript,Arrays,String,我有字符串MetadataCompanyTotal,它是驼峰大小写。 我需要在字符串之间插入空格 输入是 var str="MetadataCompanyTotal"; 输出应该是 "Metadata Company Total". 我尝试了以下方法,但需要一种更快的方法,因为存在行约束,所以行数更少 我的做法: var i, str="MetadataCompanyTotal", temp_str="", final_space_inserted_str="";
var str="MetadataCompanyTotal";
输出应该是
"Metadata Company Total".
我尝试了以下方法,但需要一种更快的方法,因为存在行约束,所以行数更少
我的做法:
var i,
str="MetadataCompanyTotal",
temp_str="",
final_space_inserted_str="";
for(i=0; i < str.length ; i++){
if ( str.charAt(i) === str.charAt(i).toUpperCase()){
final_space_inserted_str += temp_str + " ";//inserting space.
temp_str = str.charAt(i);
}
else{
temp_str += str.charAt(i);
}
}
final_space_inserted_str+=temp_str.// last word.
javascript中有什么有效的方法吗?使用正则表达式在前面用空格替换所有大写字母,并修剪以删除第一个空格 var CamelCaseWord=MetadataUSAddressType;
我有另一个解决方案
var str = "MetadataCompanyTotal";
var arr = str.split(/(?=[A-Z])/);
var temp = arr.join(" ");
alert(temp);
可以查看代码str.replace/\B[A-Z]/g,$&;将单词中的每个大写字符替换为空格+匹配字符Hanks作为答案。如果输入是MetadataUSAddressType,我希望输出为“Metadata US AddressType”。但我得到的是“元数据美国地址类型”。在正则表达式中是否有任何方法可以实现这一点。基本上,连续大写字符流应该分组连续大写字符应该分组您是说元数据USAddress类型?在这里,USA将是一组大写字符。之后只需修复结果:str.replace/\B[A-Z]/g,$&.replace/uss\B/g,v=>US-只需将下划线替换为空格谢谢你的回答。如果输入是MetadataUSAddressType,我希望输出为“Metadata US AddressType”。但我得到的是“元数据美国地址类型”。在正则表达式中是否有任何方法可以实现这一点。基本上,应该对连续大写字符流进行分组。您可以将其简化为替换/\B[A-Z][A-Z][A-Z]|[A-Z][A-Z]/g,“$1$3$2$4”;甚至可以摆脱修剪