删除最后一个逗号

时间:2015-05-07 10:13:41

标签: javascript

我从文件中读取内容,然后在编辑后将其写入另一个文件。在编辑时,对于每个读取行,我在行尾添加逗号,然后将其写入文件。对于最后一行读取,我不想写逗号。我应该怎么做。?

 while(!inputFile.AtEndOfStream){
    var readLine =  inputFile.ReadLine();
    var omitChars = new RegExp("#define").test(readLine);
    if(omitChars==1){
        var stringReadPosition = readLine.substr(8);
        var finalString = stringReadPosition.replace(/\s+/g, ': ');
              asd = outputFile.Write(finalString.replace(/^(_)/, "") + ",\r\n");
    }
 }
 outputFile.Write("};\r\n");
 inputFile.Close();
 outputFile.Close();
}

2 个答案:

答案 0 :(得分:2)

您可以使用substring在形成字符串后删除字符串的最后一个字符:

finalString = finalString.substring(0, finalString.length - 1);

另一种选择是slice的使用,考虑到负指数是相对于字符串的结尾:

finalString  = finalString.slice(0,-1);

请查看this问题了解更多信息。

更新:对于您的情况,您可以检查您是否已达到EOF - 意味着您已阅读最后一行,然后应用slicesubstring

//....
var stringReadPosition = readLine.substr(8);
var finalString = stringReadPosition.replace(/\s+/g, ': ');

//Check if stream reached EOF.
if(inputFile.AtEndOfStream) {
    finalString  = finalString.slice(0,-1);
}
asd = outputFile.Write(finalString.replace(/^(_)/, "") + ",\r\n");
//....

答案 1 :(得分:0)

试试这个asd = asd.replace(/,\ s * $ /,""); 这将删除最后一个逗号,我已经尝试了这个,它的工作。检查它是否在你的代码中工作。 在循环

中尝试此代码