How to find the phone numbers in 50,000 txt file and replace.
The phone numbers could be in several formats like below
"***-*******"
"**********"
"*** *******"
"***-***-****"final String regex = "[\\s](\\({0,1}\\d{3}\\){0,1}" +
			"[- \\.]\\d{3}[- \\.]\\d{4})|" +
			"(\\+\\d{2}-\\d{2,4}-\\d{3,4}-\\d{3,4})";
	final Pattern phonePattern = Pattern.compile(regex);
	/* The result set */
	Set<File> files = new HashSet<File>();
	File dir = new File("/initDirPath");
	if (!dir.isDirectory()) return;
	for (File file : dir.listFiles()) {
		if (file.isDirectory()) continue;
		BufferedReader reader = new BufferedReader(new FileReader(file));
		String line;
		boolean found = false;
		while ((line = reader.readLine()) != null 
				&& !found) {
			
			Matcher matcher = phonePattern.matcher(line);
			if (found = matcher.find()) {
				matcher.replaceAll("xxxxxxxxxxx");
			}
		}
	}
	for (File file : files) {
		System.out.println(file.getAbsolutePath());
	}
No comments:
Post a Comment