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

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

30.04.2022, 16:06. Показов 3017. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Сезонность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru