Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
54 / 39 / 3
Регистрация: 25.01.2013
Сообщений: 368
1

регулярные выражения

25.09.2015, 12:59. Показов 658. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!!
Какой синтаксис регулярки должна быть, чтобы текст "011120", "01112" или "0111" преобразовать в "01.11.20", "01.11.2" и "01.11" соответственно
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2015, 12:59
Ответы с готовыми решениями:

Регулярные выражения
Доброго дня! Постигаю регулярки Если используется или, есть ли способ узнать какое именно из...

Регулярные выражения
Есть такая функция: Public Function AddLineBreakBetweenWords(words As String, splitLength As...

регулярные выражения
помогите пожалуйста написать регулярные выражения. на VBA. есть текстовое поле, для ввода фамилии,...

RefEdit и регулярные выражения
Доброго времени суток! Мог бы кто-нибудь подсказать, как осуществить валидацию регулярными...

4
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
25.09.2015, 13:37 2
Султанов, обязательно регулярка? Обычный
Left(s,2)&"."&mid(s,3,2)&iif(len(s)>4,"."&mid(s,5),"")
не устроит?
1
6082 / 1326 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
25.09.2015, 14:42 3
Ну вот. А я корпел над функцией больше часа, потому что по какой-то непонятной причине подумал, что длина строки может быть любой... Позор.

Visual Basic
1
2
3
4
5
6
7
8
9
10
Function AddDots(ByVal s As String, Optional ByVal period As Long = 2) As String
    Dim i As Long, n As Long
    If period <= 0 Then Err.Raise 5, , "Расстояние между точками должно быть положительным числом."
    n = Len(s)
    If n = 0 Then Exit Function
    n = n + n Mod period + n \ period - 1
    AddDots = Space(n)
    period = period + 1
    For i = 1 To n: Mid(AddDots, i, 1) = IIf(i Mod period, Mid(s, i - i \ period, 1), "."): Next
End Function
2
47 / 47 / 6
Регистрация: 28.04.2015
Сообщений: 160
Записей в блоге: 4
25.09.2015, 15:29 4
К сожалению, с помощью регулярных выражений пока удалось сделать только двумя поисками-заменами:

Для 5- и 6-значных чисел:

Поиск: <([0-9]{2})([0-9]{2})([0-9]{1;2})>
Замена: \1.\2.\3

Для 4-значных чисел:

Поиск: <([0-9]{2})([0-9]{2})>
Замена: \1.\2

Можно было бы - за один проход:

Поиск: <([0-9]{2})([0-9]{2})(*)>
Замена: \1.\2.\3

Но в последнем случае для 4-значного числа проставляется лишняя точка в конце.
0
54 / 39 / 3
Регистрация: 25.01.2013
Сообщений: 368
25.09.2015, 19:15  [ТС] 5
Аксима, да текст может быть до 18 знаков, это код товаров, работ и услуг (КТРУ), но почему-то со сайта грузит без точек, а вот вносит надо с точками
0
25.09.2015, 19:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2015, 19:15
Помогаю со студенческими работами здесь

Замена текста - регулярные выражения
Здравствуйте уважаемые форумчане! Столкнулся с задачей поиска и замены подстроки по маске. Понял,...

Извлечение текста из строки. Регулярные выражения
Здравствуйте! Нужен код, который выбирает в ячейке слово или словосочетание. Вместо: &quot;Стол красный...

Как отключить регулярные выражения в VBA (Word)
В Word применяются регулярные выражения, например, * &lt; &gt; ? и др. Как сделать так, чтобы...

Поиск и замена, множественное через регулярные выражения
Подскажите как реализовать множественный поиск и замены с помощью regexp поиск и замена: 1....

Пробелы убрать с права от символов (регулярные выражения) | MS Word
Здравствуйте Коллеги! Прошу помощи! Следующая ситуация: есть код который удаляет множественные...

Регулярные выражения: выбрать в ячейке слово или словосочетание до запятой
Здравствуйте! Нужен код, который выбирает в ячейке слово или словосочетание до запятой. Например:...


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

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