[英]JScript Split String Result by \n delimieter
我對 JScript 和 Windows 腳本非常陌生,我有一些從文件中讀取並轉換為字符串的數據,我想將這些數據拆分為兩個數據數組,以便它們可以單獨使用。 當我從文件輸出時,數據看起來像這樣,顯示由換行符分隔的兩個部分。 如果我使用 (" ") 拆分數據,它會正確分隔每個數字,但是我想先將兩組數據分開后再執行此操作。
5.000000 9.000000 3.000000 7.000000 1.000000 4.000000 6.000000 2.000000 8.000000 0.000000
2464.000000 2464.000000 616.000000 2464.000000 154.000000 1232.000000 2464.000000 308.000000 2464.000000 77.000000
當我運行代碼來拆分兩部分時,我收到了這個結果
res 0 = 5.000000 9.000000 3.000000 7.000000 1.000000 4.000000 6.000000 2.000000 8.000000 0.000000 ,2464.000000 2464.000000 616.000000 2464.000000 154.000000 1232.000000 2464.000000 308.000000 2464.000000 77.000000
res 1 = undefined
這是我用來生成上述輸出的代碼
//Outputs 1
for( let i=0; i<data.length; i++) {
println(data[i]);
}
data = data + ''; //Convert Data from object to String
var res = data.split("\n")
//Outputs 2
console.log("res 0 = " + res[0]);
console.log("res 1 = " + res[1]);
這是我想要的結果
res 0 = 5.000000 9.000000 3.000000 7.000000 1.000000 4.000000 6.000000 2.000000 8.000000 0.000000
res 1 = 2464.000000 2464.000000 616.000000 2464.000000 154.000000 1232.000000 2464.000000 308.000000 2464.000000 77.000000
編輯:讀取數據的代碼
function dataRead(fname) {
console.log("Reading sequence...");
var fs = WScript.CreateObject("Scripting.FileSystemObject");
var lines = [];
var stream = fs.OpenTextFile(fname);
while(!stream.AtEndOfStream) {
lines.push(stream.ReadLine());
}
stream.Close();
return lines;
}
編輯:寫入數據的 Matlab 代碼
data = [T.seq; T.duration_bits];
newfile = [dir '\' name '.txt']
fp = fopen(newfile, 'w');
fprintf(fp,'%f ', data(1,:));
fprintf(fp,'\n');
fprintf(fp,'%f ', data(2,:));
fclose(fp);
(對象到字符串來自什么導致錯誤`string.split is not a function`? )
找到答案,謝謝,我已經發布了給我想要的答案的完整代碼,以及下面的輸出
var data = import_sequence(path_func, path, file, ext);
for( let i=0; i<data.length; i++) {
println(data[i]);
}
var seq = data[0];
seq = seq.split(" ").map(Number);
seq.pop();
console.log("seq = "+ seq);
var dur_bits = data[1];
dur_bits = dur_bits.split(" ").map(Number);
dur_bits.pop();
console.log("dur_bits = " + dur_bits);
}
console.log("dur = " + dur);
輸出
Reading sequence...
Data Line0 = 5.000000 9.000000 3.000000 7.000000 1.000000 4.000000 6.000000 2.000000 8.000000 0.000000
Data Line1 = 2464.000000 2464.000000 616.000000 2464.000000 154.000000 1232.000000 2464.000000 308.000000 2464.000000 77.000000
seq = 5,9,3,7,1,4,6,2,8,0
dur_bits = 2464,2464,616,2464,154,1232,2464,308,2464,77
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.