我有以下文字,
Name:Jon
Age:25
Gender:Male
如何拆分它以获得以下结果,
Jon
25
Male
如果我用这个,
var results = file.split(":");
我得到结果[0]=姓名,结果[1]=JonAge,结果[2]=25性别, 当我给予时,
var results = file.split("\n");
我得到结果[0]=姓名:乔恩,结果[1]=年龄:25,...
但是我无法得到上面的内容,如何同时检查冒号或换行符?
最佳答案
您需要先在换行符上分割,然后在冒号上分割:
file.split('\n').map(function(line){return line.split(':')[1];})
显然,这可以通过循环来完成,但是 map
函数使它变得漂亮和整洁。
您还可以使用正则表达式:
file.match(/[^:]+$/gm)
最后,您可以通过创建适用于数组的 split 函数来扩展数组的功能:
Array.prototype.split = function(s) {
return this.map( function(x) { return.x.split(s); } );
}
然后你可以链接你的分割,你会得到一个数组的数组:
var results = file.split('\n').split(':');
console.log( 'Name: ' + results[0][1] );
console.log( 'Age: ' + results[1][1] );
console.log( 'Gender: ' + results[2][1] );
您选择的方法很大程度上取决于您想要的“安全”程度。即,您是否担心字段名称或值中的格式错误的输入或冒号......
关于javascript - 在javascript中分割这个的逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19060991/