|
2 / 2 / 0
Регистрация: 07.04.2018
Сообщений: 48
|
|
Программа с пробелом27.05.2018, 17:18. Показов 689. Ответов 14
Метки нет (Все метки)
Здравствуйте.
Подскажите, пожалуйста, как написать условия (через одномерные массивы) : 1)если в строке находятся два рядом стоящих пробела, то они заменяются на один пробел. 2) если в строке находятся рядом стоящие маленькая буква и большая, то между ними ставится пробел. 3) если в строке находятся рядом стоящие: большая буква с точкой, пробел и снова большая буква с точкой, то между этими буквами убирается пробел
0
|
|
| 27.05.2018, 17:18 | |
|
Ответы с готовыми решениями:
14
Последовательности следующих друг за другом пробелов заменить одним пробелом (т.е. удалить все пробелы, следующие непосредственно за пробелом)
|
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
||||||
| 27.05.2018, 19:32 | ||||||
|
Алиса Дмитриева, попробуйте так
1
|
||||||
|
2752 / 1726 / 779
Регистрация: 23.03.2015
Сообщений: 5,449
|
||||||
| 27.05.2018, 20:09 | ||||||
|
Алиса Дмитриева,
по 1му пункту можно так:
1
|
||||||
|
2 / 2 / 0
Регистрация: 07.04.2018
Сообщений: 48
|
|
| 27.05.2018, 20:48 [ТС] | |
|
А как вообще в программе определяются большие буквы и маленькие. Например, если "Произвольная большая буква" стоит рядом c "Произвольной маленькой буквой", то ставится пробел (как задать на языке программирования вба?) С помощью языка ascil
0
|
|
|
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
|
|
| 27.05.2018, 22:16 | |
|
Если не брать в расчет Unicode то регистр буквы определяется его кодом ASCII
А по вашему вопросу на форуме есть спецы по регулярным выражениям, может быть заглянут и помогут А ещё я не понял что значит "через одномерные массивы", вам надо макрос написать или формулами в ячейках?
0
|
|
|
96 / 92 / 16
Регистрация: 13.04.2015
Сообщений: 545
|
||
| 28.05.2018, 00:19 | ||
|
Алиса Дмитриева, по 1 пункту используйте Replace!
Trim сначала и конца уберет, а Replace с середины Добавлено через 46 секунд Алиса Дмитриева, по п.2 и 3 я бы рекомендовал использовать регулярки
0
|
||
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 28.05.2018, 10:36 | |
|
Aleks777, просто Trim убирает крайние, а вот WorksheetFunction.Trim(S) оставляет внутри один пробел. Чего казалось бы проще - запустить мой макрос и посмотреть результат, там все примеры имеются
Добавлено через 37 минут Aleks777, добавлю, это эквивалент СЖПРОБЕЛЫ на листе Добавлено через 3 часа 54 минуты Narimanych, а если двойной пробел не один в строке или ещё лучше 5 пробелов подряд? Ничего не получится вашим кодом с одной строкой. А WorksheetFunction.Trim(S) всё это делает с легкостью необыкновенной
0
|
|
|
2752 / 1726 / 779
Регистрация: 23.03.2015
Сообщений: 5,449
|
||
| 28.05.2018, 12:44 | ||
|
Burk,
нимательней прочтите задание -пункт 1
0
|
||
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 28.05.2018, 13:21 | |
|
Narimanych, вы тоже моё внимательно читайте Ведь не сказано, что двойной пробел только один в строке, функция листа trim учитывает любые ситуации
0
|
|
|
2752 / 1726 / 779
Регистрация: 23.03.2015
Сообщений: 5,449
|
|
| 28.05.2018, 14:21 | |
|
Burk,
Золотой Вы мой, два рядом стоящих пробела означает ,что их 2 , а не три , не 4 и даже не 5 , а только 2..... функция листа trim учитывает любые ситуации - вы здесь мягко выражаясь...... ..... попробуйте пять пробелов S= "1 1" и посмотрите что получится..... Trim (s) С уважением....
0
|
|
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 28.05.2018, 14:40 | |
|
Narimanych, бриллиантовый вы мой, опять плохо читаете. Я имел ввиду строку = Символы два пробела Символы два пробела Символы. У меня складывается впечатление, что вы не знаете, что Trim в VBA и WorksheetFunction.Trim(S) это разные по результату функции. Первая только для крайних, вторая тоже для крайних + ужимает внутренние до одного во всех местах строки, где они встречаются. Запустите мой макрос с любой комбинацией пробелов и посмотрите результат. С не меньшим уважением ........
0
|
|
|
96 / 92 / 16
Регистрация: 13.04.2015
Сообщений: 545
|
||
| 28.05.2018, 22:45 | ||
|
в любом случае подобные задачи лучше через регулярку. функции листа убивают производительность, особенно в циклах
0
|
||
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 29.05.2018, 05:53 | |
|
Aleks777, а вы сравните на 100000 циклах и убедите. Хотя сомневаюсь, что есть задачи с таким количеством циклов
Добавлено через 32 минуты Aleks777, проверил на 100000 по времени выполнения цикла. Двойных пробелов в строке было 3. Действительно есть разница 1.210-5 и 2.310-5. А вы на глаз это заметите? Добавлено через 12 минут не то вывел, результат сравнения 1 и 2 секунды
0
|
|
|
2752 / 1726 / 779
Регистрация: 23.03.2015
Сообщений: 5,449
|
|
| 29.05.2018, 08:18 | |
|
0
|
|
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 29.05.2018, 09:03 | |
|
Narimanych, я так и понял. Надо больше доверять партнерам. У меня к вам никаких претензий.
0
|
|
| 29.05.2018, 09:03 | |
|
Помогаю со студенческими работами здесь
15
Аргумент с пробелом
Проблемы с пробелом
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|