Removing last comma
我从一个文件中读取内容,然后在编辑后再写另一个文件。在编辑时,我在每一行的末尾加了一个逗号,然后把它写到文件中。对于最后一行,我不想写逗号。我该怎么做呢?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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(/^(_)/,"") +", "); } } outputFile.Write("}; "); inputFile.Close(); outputFile.Close(); } |
您可以使用
1 | finalString = finalString.substring(0, finalString.length - 1); |
另一种选择是使用
1 | finalString = finalString.slice(0,-1); |
了解更多信息。
更新:对于您的案例,您可以检查是否达到了EOF,即您已经阅读了最后一行,然后应用
1 2 3 4 5 6 7 8 9 10 11 12 | //.... 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(/^(_)/,"") +", "); //.... |
尝试此asd=asd。替换(/,s*$/,");这将删除最后一个逗号,我已经尝试过了,它正在工作。检查它是否在您的代码中工作。在while循环内尝试此代码