Javascript 删除最后一个逗号

Javascript 删除最后一个逗号,javascript,Javascript,我从一个文件中读取内容,然后在编辑后将其写入另一个文件。编辑时,我在每一行的末尾加一个逗号,然后把它写到文件中。最后一行我不想写逗号。我该怎么做 while(!inputFile.AtEndOfStream){ var readLine = inputFile.ReadLine(); var omitChars = new RegExp("#define").test(readLine); if(omitChars==1){ var stringRea

我从一个文件中读取内容,然后在编辑后将其写入另一个文件。编辑时,我在每一行的末尾加一个逗号,然后把它写到文件中。最后一行我不想写逗号。我该怎么做

 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();
}

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

finalString = finalString.substring(0, finalString.length - 1);
finalString  = finalString.slice(0,-1);
另一种选择是使用
切片
,考虑到负索引是相对于字符串末尾的:

finalString = finalString.substring(0, finalString.length - 1);
finalString  = finalString.slice(0,-1);
更多信息,请查看相关问题

更新:对于您的情况,您可以检查是否已达到EOF-表示您已阅读最后一行,然后应用
切片
子字符串

//....
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");
//....
尝试此asd=asd.replace(/,\s*$/,“”); 这将删除最后一个逗号,我已经尝试了这个,它的工作。检查它是否在您的代码中工作。
在while循环内尝试此代码

这是一个
javascript
code吗?您可以尝试创建一个数组并添加outputFile.Write(finalString.replace(/^()/,“”)作为while循环内的新元素。然后在循环外,使用类似于[array].join(‘,\r\n’)的内容Guambra feo有一个完美的答案。请提交。一个技巧是在下一行的开头输出上一行的逗号和换行符,第一行除外(很容易识别)。问题是一旦它从while循环中出来,它就已经写了最后一行。现在我该如何替换最后一行,因为你们建议的答案是再次写最后一行。问题是一旦它从while循环中出来,它已经写了最后一行。现在我该如何替换最后一行因为你们建议的答案是写最后一行,然后用相关的补充更新。请考虑如果它是最好的选择它。