Я пытался понять, как реализовать проблему (ссылка ниже), но я натыкаюсь на стену.
В основном мне нужно переформатировать исходный код, который использует фигурные скобки следующей строки в фигурные скобки конца строки. По какой-то причине преподаватель моего класса решил поместить эту задачу в главу «Строки», а не в главу «Текстовый ввод-вывод» (это примерно пятью главами позже).
String sourceString = new String(Files.readAllBytes(Paths.get("Test.txt")));
String formatted = sourceString.replaceAll("\\s\\{", "\\{");
System.out.println(formatted);
Так что это то, что у меня есть до сих пор. Когда я выполняю прогон, вывод такой же, как исходный файл. Я следовал этой проблеме и использовал найденную идиому для преобразования всего файла в строку, метод replaceAll остановился... замена.
Пока у меня все еще было настроено так
StringBuilder source = new StringBuilder();
while(s.hasNext()){
source.append(s.nextLine());
}
String sourceString = source.toString();
String formatted = sourceString.replaceAll("\\)\\s*\\{", ") {");
System.out.println(formatted);
вывод находится в одной строке. Я чувствую, что метод replaceAll вообще не используется. Я чувствую, что забываю что-то вопиюще очевидное.
nextLine
возврат каретки или он автоматически отбрасывается? Если последнее, вам нужно добавить его самостоятельно. - person Jongware   schedule 05.04.2014Pattern.DOTALL
- person guido   schedule 05.04.2014