Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 15-35 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2019, 12:45   #1
vitalyoleg
Пользователь
 
Регистрация: 18.10.2018
Сообщений: 16
По умолчанию как удалить любые две буквы между двумя знаками «>» и «/» в каждой строке в текстовом файле, используя java?

как удалить любые две буквы между двумя знаками «>» и «/» в каждой строке в текстовом файле, используя java?

Код:
  <frame>59/592582ae031011e6e19f141877341409</frame> 
    <frame>93/93ffff76b4fc11e85a8d2cfda1bf577d</frame> 
    <frame>1b/1b730c7216ae11e6cd8f141877341409</frame> 
    <frame>33/335902e616af11e6cd8f141877341409</frame> 
    <frame>a9/a9034ee4b39e11e55f83141877341409</frame> 
    <frame>69/69bd29c8031011e6e19f141877341409</frame>
и изменить программу

Код:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class r6 {
    List<String> lines = new ArrayList<String>();
    String line = null;
    Scanner scan = null;

    public void doIt() {
        scan = new Scanner(System.in);

        while (true) {
            try {

                //System.out.println("enter qualified file name");
               // String path = scan.nextLine();
               // File f1 = new File(path);
                FileReader fr = new FileReader("goods3.xml");
                BufferedReader br = new BufferedReader(fr);
                int i = 0;
                while ((line = br.readLine()) != null) {
                    if (line.contains(">59/")) {
                        line = line.replace(">59/", "");
                    } else if (line.contains(">59/")) {
                        line = line.replace("<>59/>", "");
                    }

                    lines.add(i, line);
                    i++;
                }
                fr.close();
                br.close();

                FileWriter fw = new FileWriter("goods3.xml");
                BufferedWriter out = new BufferedWriter(fw);
                for (int j = 0; j < lines.size(); j++) {
               //    System.out.println(j + "." + lines.get(j));
                    out.append(lines.get(j));
                    out.newLine();
                }

                out.flush();
                out.close();
System.exit(0);
      //    System.out.println("====================work done===================");

            } catch (Exception ex) {
                ex.printStackTrace();
            }

        }

    }

  public static void main(String args[]) {

     r6 fr = new r6();

     fr.doIt();
   }
}/**use this code, I used it to remove logs and System.out statements in java file. just change the matching and replacing string. */


______________________
Используйте тег [CODE] (кнопка [CODE] в форме сообщения) при вставке кода на форум. Подробнее в FAQ

Последний раз редактировалось Serge_Bliznykov; 25.04.2019 в 13:05.
vitalyoleg вне форума Ответить с цитированием
Старый 26.04.2019, 14:26   #2
s86
 
Регистрация: 25.04.2019
Сообщений: 5
По умолчанию

Простым перебором строки:
Код:
for(int i=0;i<line.length();i++){
			
			if(line.charAt(i) == '>'){
				
				if(line.charAt(i+3) =='/' ){
		    	String result = line.substring(0, i+1) + line.substring(i+4);
			
				line = result;
				i =line.length();
				}
			}
		}
s86 вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввести две строки с клавиатуры. Посчитать в каждой из них количество гласных букв. В строке, содержащей большее число гласных, удалить все согласные буквы. Badprogramme Помощь студентам 0 02.12.2018 13:32
как удалить пробелы в файле между двумя словами тегами? vitalyoleg Общие вопросы C/C++ 1 25.10.2018 17:39
Заменить в каждой нечетной строке все прописные согласные буквы на заглавные Larisa_P Паскаль, Turbo Pascal, PascalABC.NET 11 26.05.2016 16:19
Нужно удалить все лишние пробелы в текстовом файле akademochka Помощь студентам 1 04.10.2012 19:48
в текстовом файле в каждой строке наити самое длинное слово Storm Помощь студентам 4 04.06.2008 14:56

Реклама для незарегистрированных, регистрация на форуме