基于特定值分割和分离 - jQuery

时间:2015-12-15 07:57:28

标签: jquery split

基本上我的字符串看起来像这样。

var allvalues = $('#allvalues').val();
var spval = allvalues.split('^');

console.log(spval[0])+"<br>";
console.log(spval[1])+"<br>";
console.log(spval[2])+"<br>";
console.log(spval[3])+"<br>";
console.log(spval[4])+"<br>";

然后我将此字符串拆分为568|896|2015-12-14 13:43:05||1|6666698|text1|999969|624|0|1|0|1 696|982|2015-11-14 13:43:05||2|6666695|text2|899969|634|0|0|0|0 147|111|2015-10-14 13:43:05||3|6666694|text3|799969|644|0|0|0|0 025|558|2014-09-14 13:43:05||4|6666693|text4|699969|654|0|1|0|1 925|777|2014-08-14 13:43:05||5|6666692|text5|599969|664|0|1|0|1 字符

[0|0|0|0]

现在这将给出

|

现在我想在分割后检查每个数组。并且希望根据最后4个数字分离数组,其中所有4个数字应该 0 696|982|2015-11-14 13:43:05||2|6666695|text2|899969|634|0|0|0|0 147|111|2015-10-14 13:43:05||3|6666694|text3|799969|644|0|0|0|0 ,在数组中由568|896|2015-12-14 13:43:05||1|6666698|text1|999969|624|0|1|0|1 025|558|2014-09-14 13:43:05||4|6666693|text4|699969|654|0|1|0|1 925|777|2014-08-14 13:43:05||5|6666692|text5|599969|664|0|1|0|1 管道符号分隔。

分开之后我应该

struct

enum

如何实现这一目标?

3 个答案:

答案 0 :(得分:3)

您可以迭代并将值放在两个单独的数组中

float

FIDDLE

答案 1 :(得分:1)

试试这个,

        var test = "568|896|2015-12-14 13:43:05||1|6666698|text1|999969|624|0|1|0|1^696|982|2015-11-14 13:43:05||2|6666695|text2|899969|634|0|0|0|0^147|111|2015-10-14 13:43:05||3|6666694|text3|799969|644|0|0|0|0^025|558|2014-09-14 13:43:05||4|6666693|text4|699969|654|0|1|0|1^925|777|2014-08-14 13:43:05||5|6666692|text5|599969|664|0|1|0|1^";
    var spval = test.split('^');
    var arr1 = new Array();
    var arr2 = new Array();
    $.each(spval,function(key,value){
        if( value.length >= 4 )
        {
            var lastFour = value.substring(value.length-8,value.length);
            if(lastFour == "|0|0|0|0")
            {
                arr1.push(value);
            }
            else
            {
                arr2.push(value);
            }
        }
        else
        {
            arr2.push(value);
        }
    });

    alert(JSON.stringify(arr1));
    alert(JSON.stringify(arr2));

答案 2 :(得分:1)

试试这个

var str = '568|896|2015-12-14 13:43:05||1|6666698|text1|999969|624|0|1|0|1^696|982|2015-11-14 13:43:05||2|6666695|text2|899969|634|0|0|0|0^147|111|2015-10-14 13:43:05||3|6666694|text3|799969|644|0|0|0|0^025|558|2014-09-14 13:43:05||4|6666693|text4|699969|654|0|1|0|1^925|777|2014-08-14 13:43:05||5|6666692|text5|599969|664|0|1|0|1^'

var _arr = str.split("^")

var _outArr1 = [];
var _outArr2 = [];
for(var i=0;i<_arr.length;i++) {
    if(_arr[i].match(/0\|0\|0\|0$/) != null) {
        _outArr1.push(_arr[i])
    } else {
        _outArr2.push(_arr[i])
    }
}