ВОТ
клад:
1. end
2. end of the day or end of the week
3. endline
4. something
5. "something" end
Исходя из вышеизложенного, если я пытаюсь заменить одну строку с помощью этого фрагмента, он удаляет соответствующие слова из строки успешно
public class DeleteTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
File file = new File("C:/Java samples/myfile.txt");
File temp = File.createTempFile("myfile1", ".txt", file.getParentFile());
String delete="end";
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
PrintWriter writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream(temp)));
for (String line; (line = reader.readLine()) != null;) {
line = line.replaceAll("\\b"+delete+"\\b", "");
writer.println(line);
}
reader.close();
writer.close();
}
catch (Exception e) {
System.out.println("Something went Wrong");
}
}
}
Мой вывод Если я использую приведенный выше фрагмент: (Также мой ожидаемый вывод)
1.
2. of the day or of the week
3. endline
4. something
5. "something"
Но когда я добавляю больше слов для удаления, и для этой цели, когда я использую Set, я использую следующий фрагмент кода:
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
File file = new File("C:/Java samples/myfile.txt");
File temp = File.createTempFile("myfile1", ".txt", file.getParentFile());
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
PrintWriter writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream(temp)));
Set<String> toDelete = new HashSet<>();
toDelete.add("end");
toDelete.add("something");
for (String line; (line = reader.readLine()) != null;) {
line = line.replaceAll("\\b"+toDelete+"\\b", "");
writer.println(line);
}
reader.close();
writer.close();
}
catch (Exception e) {
System.out.println("Something went Wrong");
}
}
Я получаю свой вывод как: (Это просто удаляет пространство)
1. end
2. endofthedayorendoftheweek
3. endline
4. something
5. "something" end
Ребята, можете ли вы помочь мне в этом?