Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 31.12.2016
Сообщений: 55

Регулярка для поиска строк в кавычках

30.04.2022, 16:06. Показов 3126. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите подобрать регулярку правильную, для поиска строк в кавычках.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Handler mHandler = new Handler(Looper.getMainLooper()) {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            switch (msg.what) {
                case 0:
                    list = new ProgressDialog(MainActivity.context);
                    list.setTitle("");
                    list.setMessage("Loading list classes in dex...");
                    list.show();
                    break;
                case 1:
                    list.dismiss();
                    new AlertDialog.Builder(MainActivity.context)
                            //.setTitle("")
 
                            // .setCancelable(false)
                            .setMessage("Done!")
                            .setPositiveButton("bar", new DialogInterface.OnClickListener() {
 
                                @Override
                                public void onClick(DialogInterface p1, int p2) {
                                }
                            }).show();
                    break;
            }
        }
    };
Пробовал
1 public static final String STRING_A = ""([^"]*)"";
2 public static final String STRING_A = "".*"";
Оно либо вообще тогда не находит, либо находит но вот так
list.setMessage("Loading list classes in dex...");
list.setTitle("");
.setPositiveButton("bar",
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.04.2022, 16:06
Ответы с готовыми решениями:

Нужно написать своеобразную функцию поиска строк в кавычках
Мне нужна функция которая в текстовом файле примерно со следующим содержанием "string1" sometext "string2" искала...

Нужно написать своеобразную функцию поиска строк в кавычках
Мне нужна функция которая в текстовом файле примерно со следующим содержанием "string1" sometext "string2" ...

Регулярка для поиска IPEndPoint
пытаюсь такую написать, почему то у него нет метода Parse :( почему вот это не срабатывает? @"{4}\:(\d+)" на вход подается...

33
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
01.05.2022, 15:33
Студворк — интернет-сервис помощи студентам
читаешь все строки
меняешь какие хочешь
перезаписываешь файл

вроде проще некуда
0
0 / 0 / 0
Регистрация: 31.12.2016
Сообщений: 55
01.05.2022, 16:03  [ТС]
Прежде чем их менять, нужно их найти.

Вот текст

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Handler mHandler = new Handler(Looper.getMainLooper()) {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            switch (msg.what) {
                case 0:
                    list = new ProgressDialog(MainActivity.context);
                    list.setTitle("");
                    list.setMessage("Loading list classes in dex...");
                    list.show();
                    break;
                case 1:
                    list.dismiss();
                    new AlertDialog.Builder(MainActivity.context)
                            //.setTitle("")
 
                            // .setCancelable(false)
                            .setMessage("Done!")
                            .setPositiveButton("bar", new DialogInterface.OnClickListener() {
 
                                @Override
                                public void onClick(DialogInterface p1, int p2) {
                                }
                            }).show();
                    break;
            }
        }
    };
Пробовал разные регулярки


Java
1
2
if (line.matcher()){
}
Пробовал
1 public static final String STRING_A = ""([^"]*)"";
2 public static final String STRING_A = "".*"";
Оно либо вообще тогда не находит, либо находит но вот так
list.setMessage("Loading list classes in dex...");
list.setTitle("");
.setPositiveButton("bar",

Написал сюда с просьбой подобрать регулярку, отправили в гугл.
Попробовал тогда так.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Pattern patt = Pattern.compile("\".*\"");
        String s = "D:/test 5/untitled6/ddd.java/";
        String b = "D:/test 5/untitled6/ddd2.java/";
        BufferedReader r = new BufferedReader(new FileReader(s));
        String line;
        String cb = "";
        FileWriter writer = new FileWriter(b);
        String originalFileContent = "";
        while ((line = r.readLine()) != null) {
           
 
            Matcher m = patt.matcher(line);
 
            while (m.find()) {
                cb = line.replace(m.group(0), "ррррр");
                System.out.println(cb);
                 writer.write( cb +"\n");
                writer.flush();
 
            }
 
 
        }
 
        
 
 
    }
Через патерн тогда да, находит только строки. Но если перезаписать, то перезаписывает мне весь файл и оставляет только это.

Java
1
2
3
4
5
list.setTitle(ррррр);
                    list.setMessage(ррррр);
                            //.setTitle(ррррр)
                            .setMessage(ррррр)
                            .setPositiveButton(ррррр, new DialogInterface.OnClickListener() {
Пробовал как в цикле так и без цикла.
0
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
01.05.2022, 16:21
Цитата Сообщение от dddd123 Посмотреть сообщение
Вот текст
ты понимаешь разницу между строка в кавычках и текст в кавычках?
я тебе выше написал алгоритм. Напиши 3 метода для начала по этим пунктам
0
0 / 0 / 0
Регистрация: 31.12.2016
Сообщений: 55
01.05.2022, 16:33  [ТС]
Это я имел ввиду пример текста, где нужно найти и заменить строки что в кавычках. Но я не могу из найти, перепробовал много регулярок. Или вообще не находит, или находит с текстом до кавычек.

Через код с патерном он выше. ( там кстате есть чтение строк, замена) Методом find() находит строки. Но проблема с записью тогда.
0
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
01.05.2022, 16:38
Цитата Сообщение от dddd123 Посмотреть сообщение
Но проблема с записью тогда.
Цитата Сообщение от StepFather322 Посмотреть сообщение
читаешь все строки
меняешь какие хочешь
перезаписываешь файл
Цитата Сообщение от StepFather322 Посмотреть сообщение
Напиши 3 метода для начала по этим пунктам
где 3 метода?
0
0 / 0 / 0
Регистрация: 31.12.2016
Сообщений: 55
01.05.2022, 17:04  [ТС]
Вот
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public static void main(String[] args) throws IOException {
        Pattern patt = Pattern.compile("\".*\"");
        String s = "D:/test 5/untitled6/ddd.java/";
        
        BufferedReader r = new BufferedReader(new FileReader(s));
        String line;
        String cb = "";
        BufferedWriter writer = null;
        writer = new BufferedWriter(new FileWriter(s));
        String originalFileContent = "";
        while ((line = r.readLine()) != null) {  // читаем файл
 
 
            Matcher m = patt.matcher(line);
 
            while (m.find()) {    // Находим строки 
                cb = line.replace(m.group(0), "ррррр"); // меняем 
                System.out.println(cb);
               
 
            }
 
 
        }
 
        writer.write(cb+line); // записываем в то тот же файл
        writer.flush();
    }
На выходе чистый файл 0 байт.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
01.05.2022, 17:13

Не по теме:

О, Господи! Начали за здравие, закончили за упокой.


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package ru.ismokejc;
 
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
 
public class Cyber {
    public static void main(String[] args) {
        StringBuilder strb = new StringBuilder();
        try (Scanner sc = new Scanner(new File("1.txt")); FileWriter writer = new FileWriter("out.txt")) {
            while (sc.hasNextLine()) {
                String s = sc.nextLine().replaceAll("\".*?\"", "pppppp");
                strb.append(s).append("\n");
            }
            writer.write(strb.toString());
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}
1.txt

Code
1
2
3
4
kjklj; @lkjlk;"+++++++++";khjlkj"--------"lkjl;kjkl
kjklj; @lkjlk;"+++++++++";khjlkj"--------"lkjl;kjkl
kjklj; @lkjlk;"+++++++++";khjlkj"--------"lkjl;kjkl
kjklj; @lkjlk;"+++++++++";khjlkj"--------"lkjl;kjkl

out.txt

Code
1
2
3
4
kjklj; @lkjlk;pppppp;khjlkjpppppplkjl;kjkl
kjklj; @lkjlk;pppppp;khjlkjpppppplkjl;kjkl
kjklj; @lkjlk;pppppp;khjlkjpppppplkjl;kjkl
kjklj; @lkjlk;pppppp;khjlkjpppppplkjl;kjkl
0
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
01.05.2022, 17:19
Цитата Сообщение от iSmokeJC Посмотреть сообщение
О, Господи! Начали за здравие, закончили за упокой.

Цитата Сообщение от StepFather322 Посмотреть сообщение
3 метода
Цитата Сообщение от dddd123 Посмотреть сообщение
Вот
можешь перечислить мне названия трех методов из твоего кода?
0
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
01.05.2022, 17:19
Цитата Сообщение от iSmokeJC Посмотреть сообщение
О, Господи! Начали за здравие, закончили за упокой.

Цитата Сообщение от StepFather322 Посмотреть сообщение
3 метода
Цитата Сообщение от dddd123 Посмотреть сообщение
Вот
можешь перечислить мне названия трех методов из твоего кода?
0
0 / 0 / 0
Регистрация: 31.12.2016
Сообщений: 55
01.05.2022, 18:14  [ТС]
Спасибо за код. Но все не так же.

Мне надо найти все строки в кавычках.
Найденные строки отправить в другой метод. В другом методе эти строки меняются, приводятся к другому виду, и возвращаются в метод 1. Где они собственно и меняются в файле через replace. Но опять проблема, содержимое файла очищается.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Pattern patt = Pattern.compile("\".*\"");
        
        BufferedReader r = new BufferedReader(new FileReader("D:/test 5/untitled6/ddd.java/"));
        StringBuilder sb = new StringBuilder();
        String line;
 
        while ((line = r.readLine()) != null) {
 
            Matcher m = patt.matcher(line);
 
            while (m.find()) { // Ищем слова в кавычках
                String sa = m.group(0).replaceAll("\"", ""); // Удаляем кавычки
                String b = ss(sa); // Отправляем найденное слово в метод sss
                m.appendReplacement(sb, b + "\n"); // Меняем найденное слово на то что пришло из метода sss.
                  Files.writeString(Paths.get("D:/test 5/untitled6/ddd2.java/"), sb, StandardCharsets.UTF_8); // записываем. И вот тут проблема очищается весь файл и остаются только слова в кавычках и измененные слова.
                
            }
 
 
        }
       
    }
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
01.05.2022, 18:29

Не по теме:

На этом мои полномочия всё. Окончены.


dddd123, бросай программирование, это не твоё.
0
0 / 0 / 0
Регистрация: 31.12.2016
Сообщений: 55
01.05.2022, 18:43  [ТС]
Не все сразу. ) Можно подумать программистами рождаются. Тоже на первых парах спрашивали, не понимали элементарного. Вы мне преподавателя напоминаете)) Она 20 лет программистом работала. И на нас кричит, да как вы не понимаете тут же все просто. Ага щас конечно, это для вас после 20 лет уже все просто.
0
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
01.05.2022, 18:48
Цитата Сообщение от dddd123 Посмотреть сообщение
Можно подумать программистами рождаются
да, не рождаются, но задатки у всех разные. После 30 сообщений в этой теме, я могу предположить, что у тебя они не очень высокие. Тебе сказали в чем проблема - ты понял, а через секунду не понял. Я тебе написал алгоритм и предложил написать 3 метода по каждому пункту - мимо ушей. Тебе написали уже готовый код - код не тот и вообще ты как баран уперся в какую то свою формулировку, которую отправляешь уже 3 раз зачем то
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
01.05.2022, 19:08
dddd123, а ты попробуй, ради смеху, начать изучать основы, а не лезть в дебри не зная базовых вещей.
Через некоторое время самому стыдно станет за вот эту тему.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.05.2022, 19:08

Регулярка для поиска значения
Есть строка 'first|second|third' Мне нужно получить 3 первых символа после знака |. Пыталась сделать что-то типа: но безуспешно ...

Регулярка для поиска телефонов
Что то не получается регулярку составить, что бы выдирать телефоны, формат написания которых заранее не известен, т.е могут быть варианты ...

Регулярка для поиска не отрицательных чисел
import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Collections; public class Lab1 { ...

Регулярка для поиска номера телефона
Привет ! Сделал такую регулярку: const string myReg1 = @"((\+38|8)?)?(?\d{3}??)?{6,14}"; Она не ловит все варианты...

Регулярка для поиска email в html-коде
Java, поиск e-mail в html-коде. Само регулярное выражение (сразу прикладываю несколько вариантов, которые перепробовал с Pattern.MULTILINE...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru