2016-08-03 57 views
-3

我有一个包含数千行的.txt文件。每行以不同的日期开始,例如1999年7月23日。 我想编写一个程序,以便能够从每行删除日期。 我将使用BufferedReader/writer和scanner。我怎样才能找到这种类型的日期并删除?提前致谢。如何使用Java在txt文件的一行中删除日期格式?

class RemoveDate { 
    public static void main(String[] args) { 
     File inputFile = new File("myFile.txt"); 
     File tempFile = new File("myTempFile.txt"); 

     BufferedReader reader = new BufferedReader(new FileReader(inputFile)); 
     BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); 

     String lineToRemove = "bbb"; 
     String currentLine; 
    } 
} 

我想使用一段时间后删除每行的日期。

+2

只是柜面你弄糊涂了JavaScript和Java的数据依赖,将其取出。他们是2种不同的语言。如果您可以发布代码片段并详细说明您正在尝试解决的问题,那么我们将非常感激,以便我们可以为您提供帮助。 –

+0

这在Java中。对困惑感到抱歉。 'File inputFile = new File(“myFile.txt”); File tempFile = new File(“myTempFile.txt”); BufferedReader reader = new BufferedReader(new FileReader(inputFile)); BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); String lineToRemove =“xzy”; String currentLine;' – ericrk00

+0

如果每个日期的长度相同,您可以使用'substring()'。 – Arthur

回答

0

您可以使用正则表达式不同的日期格式和子在长度

import java.util.*; 
import java.util.regex.*; 

public class DateRemover{ 

public static void main(String args[]){ 

String inputs [] = {"7/23/1999 data" ,"07/23/1999 data2", "07/23/99 data3"}; 

Pattern id = Pattern.compile("(\\w{1,2}/\\w{1,2}/\\w{2,4})"); 
List<String> ids = new ArrayList<>(); 

for (String input : inputs) 

{ 


Matcher matcher = id.matcher(input); 

     if (matcher.find()){ 



    // System.out.println( matcher.group(1).length()); 

    ids.add (input.substring((matcher.group(1).length()),input.length())); 

    } 

} 

System.out.println(ids); 

} }