Cod sursa(job #1360441)

Utilizator tudoras8tudoras8 tudoras8 Data 25 februarie 2015 14:55:06
Problema Convertor Scor 50
Compilator java Status done
Runda rosedu_cdl_2015 Marime 1.28 kb
import java.io.*;
import java.util.Scanner;
import java.util.regex.*;

public class Main {
	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(new FileInputStream("convertor.in"));
		sc.useDelimiter("}\\s*,");

		PrintWriter writer = new PrintWriter("convertor.out");

		// Lista are mai multe obiecte
		// Un obiect are mai multe intrari
		// O intrare are o pereche cheie-valoare
		
		// Declarari si initializari
		String obj;
		String[] entries;
		String value;
		Pattern patternKey = Pattern.compile("\"([a-zA-Z0-9\\s]+)\"");

		boolean first = true;
		while (sc.hasNext()) {
			obj = sc.next();
			entries = obj.split("\\s*,\\s*");
			if (first) {
				for (String entry : entries) {
					String[] entry2 = entry.split("\\s*:\\s*");

					Matcher matcher = patternKey.matcher(entry2[0]);
					matcher.find();

					String key = matcher.group(0).replaceAll("\"", "");
					//System.out.print(key + ",");
					writer.write(key + ",");
				}
				first = false;
			}
			//System.out.println();
			writer.write("\n");
			for (String entry : entries) {
				value = entry.substring(entry.indexOf(':') + 1);
				value = value.replaceAll("[\"}\\]]", "").trim();
				//System.out.print(value + ",");
				writer.write(value + ",");
			}
		}

		sc.close();
		writer.close();
	}
}