删除文件每行中最后一个字符的最佳方法

时间:2014-02-05 19:25:35

标签: java regex file

我有一个文件,在每行的末尾都有一个额外的插入符号,我需要删除它。这样做最好的方法是什么?始终是需要删除的第6个插入符号。

我已经考虑过使用扫描程序来浏览每个字符,然后在每次命中^时增加一个变量。从这里开始,如果变量在被除以6之后的余数为0,我会写一个空格而不是^。我只想创建一个要写入的新文件,同时将原始文件作为临时文件。这会不会或有更好的方法来解决这个问题?

我相信我也可以使用插入符作为分隔符并继续使用递增策略来确定何时编写插入符号。

我更愿意用Java编写一个方法来处理这个问题,因为编写原始文件的程序是通过java程序中的方法

我在下面显示了文件的每一行的样子。

02/03/2014^CV-13-798497^10/31/2013^N/A^SH^CUYAHOGA COUNTY SHERIFF DEPT  SERVICE FEE $43.00^
02/03/2014^CV-13-798497^10/31/2013^N/A^CS^NO SALE FORECLOSURE CLERK FEE -  $5.00^
02/03/2014^CV-13-798497^10/22/2013^P1^CS^FORECLOSURE PAGE COUNT^

2 个答案:

答案 0 :(得分:2)

Java解决方案:

// read file data into a String
String data = new Scanner(new File("file.txt")).useDelimiter("\\Z").next();
// replace all ^ from end of line using (?m) - MULTILINE switch
data = data.replaceAll("(?m)\\^$", "");

答案 1 :(得分:0)

您可以使用sed轻松完成此操作:

sed 's/\^$//' inputfile > outputfile