0 / 0 / 0
Регистрация: 31.12.2016
Сообщений: 55

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

30.04.2022, 16:06. Показов 3070. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru