Double Parse成2D数组或锯齿状数组

时间:2013-07-03 17:34:28

标签: string parsing multidimensional-array jagged-arrays

我有一个由

组成的文本文件
name,definition;
name1,definition;
name2, definition;

我知道如何从文本文件中拆分正在进入脚本的字符串,但我不知道如何将它全部放入2darray或锯齿状数组中。

它应该在单词后面看起来像

array[0][0] = name;
array[0][1] = definition;

抱歉,我忘了说什么语言,它在C#中

2 个答案:

答案 0 :(得分:0)

这是您在JavaScript中的解决方案。 note 如果您的行值可以包含引号,换行符或转义分隔符,则需要进行更多解析。

http://jsfiddle.net/N4YYA/

var result = [];
var txt = document.getElementById("test").value;
// get lines
var lines = txt.split(";");
for(var i=0; i<lines.length; i++) {
    // get and trim whitespace off the line
    var line = lines[i].replace(/(^[\s\r\n]*|[\s\r\n]*$)/g, "");
    var values = line.split(",");
    var row = [];
    for(var j=0; j<values.length; j++) {
        // get and trim whitespace off each value
        var value = values[j].replace(/(^[\s\r\n]*|[\s\r\n]*$)/g, "");
        // add it to your row array
        row.push(value);
    }
    // add row to results
    result.push(row);
}

// debug show result
var o = document.getElementById("outp");
for(var x=0; x<result.length; x++)
    o.innerHTML += result[x].toString() + "<br/>";

答案 1 :(得分:0)

在C#中:

string[][] array = inputString.Split(';').Select(x => x.Split(',')).ToArray();

如果你想出于某种原因包括修剪:

string[][] array = inputString.Split(';').Select(x => x.Split(',').Select(y=>y.Trim()).ToArray()).ToArray();