Javascript 如何拆分字符串,在字符前打断一个单词?
我有以下字符串Javascript 如何拆分字符串,在字符前打断一个单词?,javascript,split,Javascript,Split,我有以下字符串 'Material: Metall & PVC Size: Ø 32 mm Weight: 8 gram' 使用JavaScript,最快的解析方法是什么: var title = ["Material:", "Size:", "Weight:"]; var property = ["Metall & PVC", "Ø 32 mm", "8 gram"]; 试试这个 var regex = new RegExp(title.join("|")); var in
'Material: Metall & PVC Size: Ø 32 mm Weight: 8 gram'
使用JavaScript,最快的解析方法是什么:
var title = ["Material:", "Size:", "Weight:"];
var property = ["Metall & PVC", "Ø 32 mm", "8 gram"];
试试这个
var regex = new RegExp(title.join("|"));
var input = 'Material: Metall & PVC Size: Ø 32 mm Weight: 8 gram';
var property = input.split( regex ).slice(-(title.length));
演示
变量标题=[材料:,尺寸:,重量:];
var输入='材料:金属和PVC尺寸:32毫米重量:8克';
var regex=new RegExptitle.join |;
var property=input.splitregex.slice-title.length.map functionitem{return item.trim;};
console.logproperty 我知道正则表达式并不便宜,如果你的标题中有空格,这将不起作用,但我认为这对你来说是一个很好的起点
var string='Material: Metall & PVC Size: Ø 32 mm Weight: 8 gram';
var title=[], properties=[];
string.split(/(\w+:) /).forEach(function(element,index){
if(index>0){// ignore first empty element
if(index%2==1){
title.push(element); // collect titles
}else{
properties.push(element); // collect properties
}
}
});
为了得到头衔
变量字符串、标题;
字符串='材料:金属和PVC尺寸:32毫米重量:8克';
titles=string.match/[a-zA-Z]+:/g;
console.logtitles
变量字符串='材料:金属和PVC尺寸:32毫米重量:8克';
var title=string.match/[^]+:/g;
var属性=string.split/?[^]+:?/g.splite1;
console.logtitle,属性;伟大的解决方案!我怎样才能得到这个头衔呢?@walentinwidgeren但你已经有了这个头衔,对吧?很抱歉给你带来了困惑。但我也需要对标题进行解析。为此,您需要在第一个值和第二个标题之间保留一个分隔符。我想对此进行投票,但不幸的是,我的声誉太低了。我听说regex会导致一些性能问题。但是还有其他选择吗?是的,你可以为你的行格式开发一个解析器词法分析器,并用它收集你的标题和属性。但对你来说,那就太过分了。