Подскажите что валидатору не нравится. Пробывал на
aaa aa1 a1a 1aa a11 11a 111
bbb bb1& b1b@
आप5ला कोड श2ब्द पूर्ण0पणे कार्य करत नाही
на выходе
aa1 a1a 1aa a11 11a 111 bb1& b1b@ आप5ला श2ब्द पूर्ण0पणेpackage com.javarush.task.task19.task1923;
import java.io.*;
import java.util.StringJoiner;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
Слова с цифрами
*/
public class Solution {
public static void main(String[] args) throws IOException {
//1. Объявление переменных
boolean debug = false;
String fileName1 = null;
String fileName2 = null;
//2. Считываение имени файла
if(debug){
fileName1 = "C:\\JR\\Data\\file1.txt";
fileName2 = "C:\\JR\\Data\\file2.txt";
}else{
fileName1 = args[0];
fileName2 = args[1];
}
//3. Открываем потоки чтения
FileReader fReader = new FileReader(fileName1);
FileWriter fWriter = new FileWriter(fileName2);
BufferedReader bReader = new BufferedReader(fReader);
BufferedWriter bWriter = new BufferedWriter(fWriter);
//4. Парсим строки
String line = null;//Временная строка
Pattern pattern = Pattern.compile("\\D*\\d+\\D*");//Шаблон последовательности
Matcher matcher= null;//Парсер
StringJoiner sJoiner = new StringJoiner(" ");//Создаем конструктор выходной строки
while((line = bReader.readLine())!=null){
StringTokenizer sTokenizer = new StringTokenizer(line);//Делим строку по пробелам
//4.1 Пробегаемся по подстрокам строки
while (sTokenizer.hasMoreTokens()) {
//4.2 Смотрим совпадает ли подстрока строке шаблона
matcher = pattern.matcher(sTokenizer.nextToken());
if(matcher.find()) {
sJoiner.add(matcher.group());
}
}
//bWriter.newLine();
}
bWriter.write(sJoiner.toString());
bReader.close();
bWriter.close();
fReader.close();
fWriter.close();
}
}