尝试(仍然是2天)弄明白我如何删除第一个数字,跟随";"
并留下剩下的数字,但仍删除所有";"
并替换为标签("\t")
。
基数(由一个.txt文件中的脚本加载):
1;999.99;999.99;-999.99 <-- should be 999.99 999.99 -999.99 --><br />
2;248.22;257.78;-10.58 <-- should be 248.22 257.78 -10.58 --><br />
3;235.54;149.58;-14.32 <-- should be 235.54 149.58 -14.32 --><br />
10;225.54;147.58;-14.32 <-- should be 225.54 147.58 -14.32 --><br />
列表上升到99;
我试过了
replace(/.*;(?! \.d+;)/g, "\t");
但这将删除所有“;”和数字,除了最后的数字。 我想不出来。谁可以帮忙?
我的完整代码尝试了"hex494D49"
的答案:
function readTheNpFile01() { var initNpFile = new ActiveXObject("Scripting.FileSystemObject"); projektname = projektname_input.value; openNP01 = initNpFile.OpenTextFile("C://wamp/www/CM5_demo/cnc_temp/" + projektname + ".cnc.01np", 1, false); readALLofNP01 = openNP01.ReadAll().replace(/0;0.0;0.0;0.0/i, "");//.slice(7); for(i = 0; i < readALLofNP01.length; i++){ console.log(readALLofNP01[i].replace(/(^\d+;)|;/g, '\t')); } $('#NP01row').html(readALLofNP01); //put the numbers in my html ID openNP01.Close(); }
答案 0 :(得分:2)
var n = "1;999.99;999.99;-999.99";
n = n.slice(n.indexOf(';')+1).replace(/;/g, "\t");
答案 1 :(得分:1)
如果您更喜欢使用RegEx,这是一个解决方案
'1;999.99;999.99;-999.99'.replace(/(^\d+;)|;/g, '\t');
如果您不想在开头\t
,请修改输出
'1;999.99;999.99;-999.99'.replace(/(^\d+;)|;/g, '\t').trim();
如果输入是文本文件,请使用下面的代码段
var text = "here is the content of the file";
// strip text file in lines
var lines = text.match(/[^\r\n]+/g); // or var lines = text.split("\n");
for(i = 0; i < lines.length; i++){
// do the nedeed changes
console.log(lines[i].replace(/(^\d+;)|;/g, '\t').trim());
}
检查工作jsFiddle
答案 2 :(得分:-1)
谢谢大家的帮助。最后,你的回答帮助我找到解决方案。 这里是CODE。 (再次感谢)
openNP01 = initNpFile.OpenTextFile("C://wamp/www/CM5_demo/cnc_temp/" + projektname + ".cnc.01np", 1, false);
readALLofNP01 = openNP01.ReadAll().replace(/0;0.0;0.0;0.0/i, "").slice(7);
NP01Array = readALLofNP01.replace(/(^\d{1,2};)|;/gm, '\t').trim();
$('#NP01row').html(NP01Array);
openNP01.Close();