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

Регулярные выражения. Не более одного пробела подряд

02.07.2014, 12:51. Показов 3003. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Код:
Java
1
2
3
4
5
6
7
8
String name = "Иванов Иван    Иванович";
        Pattern pattern = Pattern.compile("[[а-яА-ЯіІїЇґҐєЄёЁ-][\\s?]']{2,100}");
        Matcher matcher = pattern.matcher(name);
        if (matcher.matches()) {
            System.out.println("Math"); 
        } else {
            System.out.println("Match not found");
        }
Подскажите пожалуйста как подправить чтоб (пробел, апостроф и дефис) мог встречатся не более 1 раза подряд
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.07.2014, 12:51
Ответы с готовыми решениями:

Пропускать не более одного пробела (и новой строчки) подряд
Есть сообщение Привет Я здесь пишу.

[КуМир] Убрать из строки все лишние пробелы - чтобы не было подряд более одного пробела
Результат сохранить в отдельной переменной и вывести на экран. Например: ввод - "слова слова...

Удалить в полях более одного пробела
у меня возникли следующие вопросы производительности: 1) Необходимо удалять в полях более одного...

Как узнать, содержит ли строка более одного пробела?
Здравствуйте. Подскажите, как узнать, содержит ли строка более 1 пробела? Добавлено через 6...

2
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
02.07.2014, 12:58 2
люблю копаться в регулярках и такой вопрос - а не проще ли будет сразу "убить" лишние пробелы, а потом проверять?
0
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
02.07.2014, 19:05 3
Выкинем пока всё лишнее
Код
[а-яА-ЯіІїЇґҐєЄёЁ]{2,100}
И к этому выражению добавим в конец его же, но с разделителем. Плюс учтем, что продолжения может и не быть.
Получается как-то так (если я правильно понял что именно требовалось):
Код
[а-яА-ЯіІїЇґҐєЄёЁ]{2,100}([-\s'][а-яА-ЯіІїЇґҐєЄёЁ]{2,100})*
0
02.07.2014, 19:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.07.2014, 19:05
Помогаю со студенческими работами здесь

Удалить слова и символ пробела, встречающиеся подряд более, чем один раз. Не могу найти ошибку
Вот задание: Повтор слов. В текстовое поле пользователь вводит строку, состоящую из слов,...

Заменить каждую последовательность, содержащую более одного пробела, на один пробел
В заданной строке заменить каждую последовательность, содержащую более одного пробела, на один ...

Из текстового файла вывести на экран строки, в которых содержится не более одного пробела
Из текстового файла вывести на экран строки, в которых содержится не более одного пробела (1 или 0).

Если после знака препинания более одного пробела, то лишние пробелы удалить
разобрать модуль, содержащий функции для обработки строковых данных: - если перед знаками...


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

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