Java прочитать текстовый файл и заменить & на & - PullRequest
0 голосов
/ 10 февраля 2020

Я пытаюсь прочитать текстовый файл, используя java, пытаясь заменить символ & на &amp, поскольку в текстовом файле уже есть &amp, &apos, &quot, &lt и &gt. Я хочу заменить только & на & и пропустить &amp, &apos, &quot, &lt и &gt

Я попытался выполнить поиск по регулярному выражению, используя следующее регулярное выражение &(^?!((amp;)|(apos;)|(quot;)|(gt;)|(lt;))), чтобы вывести список & символ.

Правильно ли приведенное выше регулярное выражение или есть другой способ найти и заменить символ & на &amp

Заранее спасибо. Это мой текущий код

File log= new File("txtfileNameString.txt");
System.out.println("entering Changes &");
FileReader fr = new FileReader(log);
String s;
BufferedReader br = new BufferedReader(fr);
while ((s = br.readLine()) != null) {
       s=s.replaceAll("&(^?!((amp;)|(apos;)|(quot;)|(lt;)|(gt;))", "&");
       // do something after replace
}
br.close();

Ответы [ 2 ]

3 голосов
/ 10 февраля 2020

Вы можете использовать отрицательный прогноз:

s = s.replaceAll("&(?!amp;|apos;|quot;|lt;|gt;)", "&");
0 голосов
/ 10 февраля 2020
 FileReader oldfile= new FileWriter("C://users//Chamod//Desktop//testFile.txt");
 String phase  = oldfile.replaceAll("&", "&");

 FileWriter writer = new FileWriter("C://users//Chamod//Desktop//testFile.txt");
 writer.write(newFile);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...