Я пытаюсь прочитать входной файл, содержащий следующее:
input.txt
Hello world. Welcome,
to the java.
И мне нужно добавить предложение с префиксом (BEGIN) и суффикс (END), и результат должен выглядеть следующим образом:
ожидаемый результат:
BEGIN_Hello world_END.BEGIN_ Welcome,
to the java_END.
Ниже приводится моя функция чтения входного файла. Я читаю весь файл и сохраняю его в списке массивов: InputDetails. java
private List<String> readInput = new ArrayList<>();
public void readFile() throws IOException {
while((inputLine = input.readLine()) != null ) {
readInput.add(inputLine);
}
}
//Getter to return input file content
public List<String> getReadInput() {
return readInput;
}
И ниже мой код для добавления строки с BEGIN и END :
public void process() {
InputDetails inputD = new InputDetails();
for(int i=0;i<inputD.getReadInput().size();i++) {
String sentence = inputD.getReadInput().get(i);
String splitSentence[] = sentence.split("\\.");
for(int j=0;j<splitSentence.length;j++) {
System.out.println(splitSentence[j]);
splitSentence[j] = "BEGIN_"+splitSentence[j]+"__END";
}
sentence = String.join(".",splitSentence);
inputD.writeToFile(sentence);
}
}
получение вывода:
BEGIN_SENTENCE__Hello world__END_SENTENCE.BEGIN_SENTENCE__Welcome
to the java.
Примечание: Каждое предложение разделено "." (период) характер. Выходное предложение должно иметь префикс BEGIN_ и суффикс __END. Знак точки не считается частью предложения. И входной файл разделяется одним или несколькими пробелами. Предложение считается завершенным, если в нем есть точка (.). Даже если это означает, что предложение завершается на новой строке (точно так же, как ввод, который я указал выше). Все, позиция специальных символов должна быть сохранена в выводе. Также может быть пробел между точкой (.) Или запятой (,) и словом. , например: java. или добро пожаловать,
Кто-нибудь может помочь мне это исправить? Спасибо