再一些问题。
我得到一些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 />
...等等......
我无法弄明白该怎么做。似乎不可能:(
答案 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);