Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Arrays_String - Fatal编程技术网

javascript中的字符串解析

javascript中的字符串解析,javascript,arrays,string,Javascript,Arrays,String,我有字符串MetadataCompanyTotal,它是驼峰大小写。 我需要在字符串之间插入空格 输入是 var str="MetadataCompanyTotal"; 输出应该是 "Metadata Company Total". 我尝试了以下方法,但需要一种更快的方法,因为存在行约束,所以行数更少 我的做法: var i, str="MetadataCompanyTotal", temp_str="", final_space_inserted_str="";

我有字符串MetadataCompanyTotal,它是驼峰大小写。 我需要在字符串之间插入空格

输入是

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”;甚至可以摆脱修剪