删除第一个数字后跟一个&#34 ;;"然后删除其余的";"但请保留以下数字

时间:2014-07-10 13:25:14

标签: javascript regex replace

尝试(仍然是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(); 
}

3 个答案:

答案 0 :(得分:2)

var n = "1;999.99;999.99;-999.99";

n = n.slice(n.indexOf(';')+1).replace(/;/g, "\t");

FIDDLE

答案 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();