1

次で構成されるテキストファイルがあります

name,definition;
name1,definition;
name2, definition;

スクリプトに取り込まれる文字列をテキスト ファイルから分割する方法は知っていますが、すべてを 2darray またはジャグ配列に取得する方法はわかりません。

言葉の後にこのように見えるはずです

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

申し訳ありませんが、私はどの言語を言うのを忘れていました.それはC#です.

4

2 に答える 2

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();
于 2016-08-15T20:40:23.773 に答える
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/>";
于 2013-07-03T17:57:27.577 に答える