Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
 Аватар для VistaSV30
986 / 330 / 79
Регистрация: 10.04.2012
Сообщений: 1,239
Записей в блоге: 4

Регулярки - сделать букву заглавной

04.04.2023, 11:06. Показов 2384. Ответов 9

Студворк — интернет-сервис помощи студентам
Добрый день!

Подскажите как регулярным выражением заменить строчную букву на заглавную?
Python
1
2
3
4
5
6
7
8
9
10
11
12
import re
 
regex = r"[гГ]\.\s*([а-я])"
 
test_str = "г. липецк, ул. Космонавтов, д.16"
 
subst = "\\1"
 
result = re.sub(regex, subst, test_str, 0, re.MULTILINE)
 
if result:
    print (result)
Спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.04.2023, 11:06
Ответы с готовыми решениями:

Поочереди сделать каждую букву строки заглавной
Допустим есть строка str="hello" Нужно поочереди сделать каждую букву заглавной и сделать список: Вот я делаю цикл где заменяю...

Сделать первую букву каждого слова большой (заглавной)
Есть такой код Но он не делает первые буквы заглавными

Сделать заглавной первую букву первого слова, во втором сделать заглавной вторую
Помогите с программой на СИ++ Дан текст, состоящий не менее чем из пяти слов. Написать программу, которая выполняет следующие...

9
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
04.04.2023, 11:14
Лучший ответ Сообщение было отмечено VistaSV30 как решение

Решение

Python
1
result = re.sub(r'(?m)(?<=[гГ]\.)(\s*[а-я])', lambda x: x[0].upper(), test_str)
1
Любознательный
 Аватар для YuS_2
7404 / 2254 / 360
Регистрация: 10.03.2016
Сообщений: 5,214
04.04.2023, 14:11
Цитата Сообщение от VistaSV30 Посмотреть сообщение
Подскажите как регулярным выражением заменить строчную букву на заглавную?
никак и тчк

Не по теме:

iSmokeJC, регулярным выражением... заменить, а не .upper() ;)



Не по теме:

в PCRE вроде бы есть, что-то на эту тему:

In Perl, the sequences \F, \l, \L, \u, and \U are recognized by its string handler and used to modify the case of following characters.
но в python, это вроде бы, не работает... возможно, это и не так, т.к. в доках упоминание есть, но пока не нашел способа...

1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
04.04.2023, 15:16
Цитата Сообщение от YuS_2 Посмотреть сообщение
но в python, это вроде бы, не работает
Не работает
Цитата Сообщение от YuS_2 Посмотреть сообщение
но пока не нашел способа
А способа и нет.
Цитата Сообщение от YuS_2 Посмотреть сообщение
в PCRE вроде бы есть
Есть, да. Но почему-то от этих последовательностей отказались в версии PCRE2, емнип.
Их даже не стали в regex реализовывать. ))))

Добавлено через 51 секунду
Цитата Сообщение от YuS_2 Посмотреть сообщение
в доках упоминание есть
Я так понимаю, это в поиске, а не в замене.
2
 Аватар для VistaSV30
986 / 330 / 79
Регистрация: 10.04.2012
Сообщений: 1,239
Записей в блоге: 4
04.04.2023, 15:25  [ТС]
iSmokeJC, подскажите пожалуйста, что делает:

(?m)

Спасибо!
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
04.04.2023, 15:28
Лучший ответ Сообщение было отмечено VistaSV30 как решение

Решение

Цитата Сообщение от VistaSV30 Посмотреть сообщение
re.MULTILINE


Добавлено через 1 минуту
Посмотри в доках. Куда как удобней вместо
Python
1
(re.MULTILINE, re.IGNORECASE, re.DOTALL)
написать в начале регулярки (?ims)
1
Любознательный
 Аватар для YuS_2
7404 / 2254 / 360
Регистрация: 10.03.2016
Сообщений: 5,214
05.04.2023, 10:36
Цитата Сообщение от iSmokeJC Посмотреть сообщение
от этих последовательностей отказались в версии PCRE2
Видимо, чтобы исключить из регэксов не свойственные им функции
По умолчанию, эти последовательности (\F, \l, \L, \u, and \U) не поддерживаются... но при включении спец. опции, "\U" соответствует просто символу "U" теперь...

Цитата Сообщение от iSmokeJC Посмотреть сообщение
это в поиске, а не в замене.
Это вообще не из той оперы... это, оказалось, всего лишь, шестнадцатеричное обозначение символов юникода "\UHHHHHHHH"
А упоминание звучит так:
Changed in version 3.3: The '\u' and '\U' escape sequences have been added.
без подробностей...
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
05.04.2023, 10:41
YuS_2, агась, тоже читал
0
 Аватар для volodin661
6677 / 2270 / 346
Регистрация: 10.12.2013
Сообщений: 7,839
06.04.2023, 10:15
это какой-то позор.
0
06.04.2023, 20:17

Не по теме:

volodin661, чойта? прашто спич? :)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.04.2023, 20:17
Помогаю со студенческими работами здесь

Сделать первую букву заглавной
Возникла такая проблема. у меня есть список List&lt;string&gt; содержащий какие-то слова, и мне нужно преобразовать этот список так, чтобы все...

Сделать первую букву строки заглавной
Всем привет! Как в предложении все слова подогнать под один формат? Т.е. если я ввожу &quot;ИВАНОВ ИВАН ИВАНОВИЧ&quot; или &quot;ИВАнов...

Сделать в TextBox первую букву заглавной
Как сделать ввод первой буквы в текст бокс с большой?

Проверить и сделать первую букву заглавной
Есть Xml файл. &lt;tag&gt; &lt;tag1&gt; &lt;/tag1&gt; &lt;tag2&gt; &lt;/tag2&gt; &lt;root&gt; &lt;ttt&gt;&lt;t1&gt;&lt;/t1&gt;&lt;t2&gt;&lt;/t2&gt;&lt;/ttt&gt; ...

Сделать заглавной первую букву слова
При вписывании любого слова должен считывать первые буквы и делать их заглавными. Так же должен учитывать количество слов и пробелов. Все...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru