Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/14: Рейтинг темы: голосов - 14, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 33
1

Из строки удалить все последовательности символов, находящиеся между круглыми скобками

21.03.2017, 17:54. Показов 2638. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, нужно написать программу: "Из заданной строки удалить все последовательности символов, находящиеся между корректно записанными круглыми скобками (скобки удалить тоже). Скобки могут быть вложенными.". Я в java полный нуль.. поэтому прошу помочь.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2017, 17:54
Ответы с готовыми решениями:

В данном тексте удалить все символы расположенные между скобками
В данном тексте удалить все символы, расположенные между скобками (). Скобки тоже исключить.

Удалить все последовательности символов, находящиеся между корректно записанными круглыми скобками
Из заданной строки удалить все последовательности символов, находящиеся между корректно записанными...

Удалите из строки последовательности символов, расположенные между круглыми скобками вместе со скобками
Удалите из строки последовательности символов, расположенные между круглыми скобками вместе со...

Удалить из строки последовательность символов, расположенных между круглыми скобками
Разработать программу которая для заданной строки s удаляет из неё последовательность символов...

12
386 / 74 / 31
Регистрация: 13.04.2012
Сообщений: 127
21.03.2017, 18:50 2
Лучший ответ Сообщение было отмечено gold_binger как решение

Решение

Могу такой вариант предложить:
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
29
import java.util.Scanner;
import java.util.Stack;
 
public class Main {
    public static String cleanCorrectBraces(String str) {
        StringBuilder strBuilder = new StringBuilder(str);
        Stack<Integer> bracesPositions = new Stack<Integer>();
        for (int i = 0; i < strBuilder.length(); i++) {
            char ch = strBuilder.charAt(i);
            if (ch == '(') {
                bracesPositions.push(i);
            } else if (ch == ')' && !bracesPositions.isEmpty()) {
                int start = bracesPositions.pop();
                int end = i + 1;
                strBuilder.delete(start, end);
                i = start - 1;
            }
        }
        return strBuilder.toString();
    }
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        sc.close();
 
        System.out.println("Cleaned string: " + cleanCorrectBraces(str));
    }
}
1
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 33
21.03.2017, 19:09  [ТС] 3
её в NetBeans открывать? извините за глупый вопрос
0
386 / 74 / 31
Регистрация: 13.04.2012
Сообщений: 127
21.03.2017, 19:15 4
gold_binger, можно и в NetBeans. Создай новый проект, там наверняка уже будет готовый класс Main(если нет, то создай вручную), туда и добавь этот код.
Вот инструкция, как это сделать в NetBeans.
1
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 33
21.03.2017, 19:23  [ТС] 5
Спасибо, разобрался.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
21.03.2017, 19:29 6
string.replaceAll("\\(.*\\)","")
1
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
21.03.2017, 21:22 7
Цитата Сообщение от xoraxax Посмотреть сообщение
string.replaceAll("\\(.*\\)","")
не подружится с условием
Цитата Сообщение от gold_binger Посмотреть сообщение
корректно записанными круглыми скобками
Цитата Сообщение от gold_binger Посмотреть сообщение
Скобки могут быть вложенными
1
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
21.03.2017, 21:35 8
Цитата Сообщение от LeX Посмотреть сообщение
не подружится с условием
можно контр пример?
0
386 / 74 / 31
Регистрация: 13.04.2012
Сообщений: 127
21.03.2017, 21:42 9
xoraxax,
Код
something(like(that)
Я так полагаю под корректно записанными скобками тут это полагалось.
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
21.03.2017, 21:46 10
Цитата Сообщение от xoraxax Посмотреть сообщение
можно контр пример?
вот
Миниатюры
Из строки удалить все последовательности символов, находящиеся между круглыми скобками   Из строки удалить все последовательности символов, находящиеся между круглыми скобками   Из строки удалить все последовательности символов, находящиеся между круглыми скобками  

1
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
21.03.2017, 21:50 11
Цитата Сообщение от gold_binger Посмотреть сообщение
находящиеся между корректно записанными круглыми скобками
крайние скобки - это корректно записанные круглые скобки.
а все, что между ними -
Цитата Сообщение от gold_binger Посмотреть сообщение
все последовательности символов
Цитата Сообщение от al1as Посмотреть сообщение
like(that
Я вот хз как еще можно трактовать такую постановку задачи.

Добавлено через 1 минуту
Цитата Сообщение от LeX Посмотреть сообщение
вот
жадность можно выключить, согласен

Добавлено через 1 минуту
Цитата Сообщение от xoraxax Посмотреть сообщение
жадность можно выключить, согласен
но можно и не выключать, все равно не вижу противоречий
1
al1as
21.03.2017, 22:14
  #12

Не по теме:

Ну да, в самой постановке задачи не хватает деталей, поэтому возможны разные трактовки... Если следовать определению правильной скобочной последовательности из википедии, то последовательность вида (() не является правильной, с другой стороны, что именно автор имел под "правильными скобками" тоже не совсем ясно.. Если брать только внешние скобки, то к чему тогда пояснение про "правильность".. Не знаю, в общем :)

0
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 33
22.03.2017, 04:49  [ТС] 13
программа, которую написал al1as, работает правильно.. Результат сходится с тем, что когда то я писал на паскале.
0
22.03.2017, 04:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2017, 04:49
Помогаю со студенческими работами здесь

Удалить из строки последовательность символов, расположенных между круглыми скобками
Здравствуйте) Подскажите, плиз, как из строки удалить последовательность символов, расположенных...

Удалить все символы строки, расположенные между круглыми скобками
Введите строку.Удалить все символы,расположенные между круглыми скобками.(Примечание,В строке...

Из произвольной последовательности символов исключить группы символов, расположенных между круглыми скобками
Обязательно использовать процедуру

Удалить из заданной строки все символы , находящиеся между скобками, включая сами скобки
2. дана строка символов, содержащая не более одной пары скобок. Удалить из заданной строки все...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru