获取文本信息排序并将它们编号为“;”数字之后和每个街区之后

时间:2014-07-11 13:45:27

标签: javascript regex

再一些问题。

我得到一些Textfield的值,如下所示:

134.45 987.46 -89.10
224.67 127.26 -19.12
764.32 187.96 -78.25
...等等......

我得到了他们

function LineWriteToNp01() { 
var getNP01TableData = $('#null_tabelle_dues1_text').text();
}

我需要他们 1; 134.45; 987.46; -89.10< br /><<<是的还有休息 - 它将写在.TXT文件中>>>
2; 224.67; 127.26; -19.12< br />
3; 764.32; 187.96; -78.25< br />
...等等......

我无法弄明白该怎么做。似乎不可能:(

3 个答案:

答案 0 :(得分:1)

hekp来自" guest271314"是perfekt。我把它建成了一点动态。

 function LineWriteToNp01() {
var getNP01TableData = $('#null_tabelle_dues1_text').text().replace(/\s+X/, "");
var arr = getNP01TableData.split(/\s+/);
var _arr = [];
var index = 1;
for (var i = 1; i <= (arr.length-1)/3; i++) {
    _arr.push( i + ";" + arr[index] + ";" + arr[index + 1] + ";" + arr[index + 2] + "<br />\n");
    index = index + 3;
}
_arr = _arr.toString().replace(/,/g, "");
var file = new Blob([_arr], {
    "type": "text/plain"
});

// ... code to write it back in txt file
 }

非常感谢@ all for your help

答案 1 :(得分:0)

好吧,让我们来看看你得到了什么:你有一个文本块,数字用空格分隔。这是我们可以合作的东西。

.split(“”)函数将数字分开并将它们放在一个数组中;你可以做一个      getNP01TableData.split(“”),你的结果将是:

["  ", "134.45  ", "987.46  ", "-89.10", "
    ", "224.67  ", "127.26  ", "-19.12
    ", "764.32  ", "187.96  ", "-78.25" ]

这绝对看起来像你可以使用的东西。把那个坏孩子扔进一个循环中:

var text = "";
for (var i = 0; i<arr.length/3; i++) {
    text = text + i;
    for (j = 0; j<3; j++) {
       text=text+";"+arr[3*i + j]
    }
    text = text+"</br";
}

这可能需要一点点摆弄,但你明白了。此外,.trim()函数可用于删除不需要的空格。

答案 2 :(得分:0)

尝试

var text = "134.45   987.46   -89.10 224.67   127.26   -19.12 764.32   187.96   -78.25";

var arr = $.map(text.split(" "), function (value, index) {
    return value === "" ? null : [value]
});

var _arr = [];
_arr.push("1;" + arr.slice(0, 3).join(",").replace(/,/g, ";") + "<br />");
_arr.push("2;" + arr.slice(3, 6).join(",").replace(/,/g, ";") + "<br />");
_arr.push("3;" + arr.slice(6, 9).join(",").replace(/,/g, ";") + "<br />");    
_arr = _arr.toString().replace(/,/g, "");

var file = new Blob([_arr], {
    "type": "text/plain"
});

var reader = new FileReader();
reader.addEventListener("loadend", function (e) {
    console.log(e.target.result);
});
reader.readAsText(file);

jsfiddle http://jsfiddle.net/guest271314/YpBxA/