Как поставить пробел перед заглавной буквой
Перейти к содержимому

Как поставить пробел перед заглавной буквой

  • автор:

Как поставить пробел перед заглавной буквой

Сообщение от Казанский

Работает с выделенным диапазоном:

Sub bb() Dim c As Range, s$, i&, d$ For Each c In Selection s = c For i = 2 To Len(s) d = Mid$(s, i, 1) If d = UCase(d) Then c = Left$(s, i - 1) & " " & Mid$(s, i): Exit For Next Next End Sub

Зарегистрировался чтобы сказать ЧЕЛОВЕЧЕСКОЕ Спасибо! Круче этого варианта ничего нет. Весь инет облазил. Спасибо, друг.

Регистрация: 11.05.2010

Сообщений: 5,166

Вообще можно сделать покруче — навесить один trim() в начале на переменную c, а второй application.trim() на конечный результат — это от дураков и брака.

webmoney: E265281470651 Z422237915069 R418926282008

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из текста удалить все цифры, стоящие перед первой буквой Aleksandr15 Помощь студентам 4 30.03.2011 11:32
как поставить пробел в HTLM таблице ? dima6089 Помощь студентам 2 02.11.2009 11:06
Как поставить пробел, через 8 знаков valerij Microsoft Office Excel 7 11.04.2009 04:24
Как сделать, чтобы слово пирамида всегда писалось с Заглавной буквой asale Microsoft Office Word 3 22.01.2009 20:51

Powershell как вставить пробел перед заглавной буквой?

Помогите пожалуйста есть переменная которая имеет ФИО ИвановИванИванович, без пробелов но каждое слово начинается с большой буквы, как сделать так что бы перед каждой заглавной буквой появился пробел, желательно но не обязательно что бы перед первым словом пробела не было.

  • Вопрос задан более двух лет назад
  • 185 просмотров

1 комментарий

Простой 1 комментарий

Как поставить пробел только перед заглавной буквой?

Есть задание, в котором сказано что даётся кортеж с ФИО, но там нету пробелов. Надо поставить пробел перед каждой заглавной буквой(кроме первой). Сам смог сделать только такой Код:

import re i = 0 с = ['АлександровДенисПетрович'] while i < len(c): s = c[i] s = re.sub(r' *([ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ]) *', r' \1 ', s) # оставляет ровно по одному пробелу до/после c[i] = s[1:] i+=1 print(c) 

Но к сожалению пробелы ставятся и после заглавной буквы.

['А лександров Д енис П етрович'] 

Как поставить пробелы только перед ЗАГЛАВНЫМИ буквами?

Отслеживать

задан 4 мая 2020 в 6:55

2,816 2 2 золотых знака 22 22 серебряных знака 58 58 бронзовых знаков

Как поставить пробел перед заглавной буквой

Vladimir Andrusevich » Чт май 13, 2010 10:58

Всем добрый день.
Есть проект в Транзите, объемом под сто страниц. Правописание перед отправкой заказчику проверяю в Ворде. При копировании и переносе текста все тэги и знаки форматирования между предложениями (сегментами) теряются, все пишется слитно. Ну примерно вот так: включить.Выключить.
В таком виде проверка будет долгой и нудной. Есть ли способ вставить пробел перед каждой прописной буквой с помощью функции Найти и заменить?

Vladimir Andrusevich
Сообщения: 31 Зарегистрирован: Чт янв 29, 2009 10:29 Откуда: Minsk

Re: Как в Ворде вставить пробел перед каждой прописной буквой

Николай Каныкин » Чт май 13, 2010 11:11

Как вариант, можно вставить пробел после каждой точки.
Николай Каныкин
Сообщения: 777 Зарегистрирован: Пт май 20, 2005 23:14 Откуда: Эстония

Re: Как в Ворде вставить пробел перед каждой прописной буквой

Vladimir Andrusevich » Чт май 13, 2010 11:17

не все сегменты заканчиваются точкой, но и это уже было бы неплохо. Есть предложения?

Vladimir Andrusevich
Сообщения: 31 Зарегистрирован: Чт янв 29, 2009 10:29 Откуда: Minsk

Re: Как в Ворде вставить пробел перед каждой прописной буквой

LyoSHICK » Чт май 13, 2010 11:30

Угловые скобки поставил только для того, чтобы во втором случае был виден пробел. Их писать не надо.
Правда, это очень примерно (если в тексте есть, скажем, США. )

Re: Как в Ворде вставить пробел перед каждой прописной буквой

Клон Голландца » Чт май 13, 2010 11:51

Небольшое дополнение к тому, что написал Лёшик.

LyoSHICK писал(а): если в тексте есть, скажем, США. )

Найти: <([!А-Я ])([А-Я])>( здесь пробел после первого "Я" )
Заменить: <\1 \2>
Вводить все, что внутри угловых скобок, и не забыть поставить галочку "Подстановочные знаки" (Use wildcards).

Какие-нибудь исключения все равно найдутся.

Клон Голландца

Re: Как в Ворде вставить пробел перед каждой прописной буквой

Vladimir Andrusevich » Чт май 13, 2010 11:56

спасибо, попробую

Vladimir Andrusevich
Сообщения: 31 Зарегистрирован: Чт янв 29, 2009 10:29 Откуда: Minsk

Re: Как в Ворде вставить пробел перед каждой прописной буквой

LyoSHICK » Чт май 13, 2010 12:00

Клон Голландца писал(а): пробел после первого "Я"

Да! Вот это классно - где-то меня свербила эта мысль.

Re: Как в Ворде вставить пробел перед каждой прописной буквой

LyoSHICK » Чт май 13, 2010 12:27

Клон Голландца писал(а): Какие-нибудь исключения все равно найдутся.

Re: Как в Ворде вставить пробел перед каждой прописной буквой

Клон Голландца » Чт май 13, 2010 12:29

LyoSHICK писал(а): Вроде кВт.

.. или, наоборот, сплошняком прописных.
Клон Голландца

Re: Как в Ворде вставить пробел перед каждой прописной буквой

Vladimir Andrusevich » Чт май 13, 2010 12:34

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

Vladimir Andrusevich
Сообщения: 31 Зарегистрирован: Чт янв 29, 2009 10:29 Откуда: Minsk

Re: Как в Ворде вставить пробел перед каждой прописной буквой

LyoSHICK » Чт май 13, 2010 12:45

Значит, не хватает скобок (круглых или квадратных - они нужны) в первом поле.

Re: Как в Ворде вставить пробел перед каждой прописной буквой

Vladimir Andrusevich » Чт май 13, 2010 12:53

спасибо большое, помогло

Vladimir Andrusevich
Сообщения: 31 Зарегистрирован: Чт янв 29, 2009 10:29 Откуда: Minsk
Сообщений: 12 • Страница 1 из 1

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

  • Список форумов
  • Наша команда • Удалить cookies конференции • Часовой пояс: UTC + 3 часа

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *