Текущее время: Ср, июл 23 2025, 19:13

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Вести строку 100 символов. В этой строке надо заменить парные симлолы если они есть
СообщениеДобавлено: Пт, окт 10 2014, 14:16 
Ассистент
Ассистент

Зарегистрирован:
Пт, окт 03 2014, 13:26
Сообщения: 28
Вести строку 100 символов. В этой строке надо заменить парные символы если они есть, и вывести нормальное отображение без дуближа. Интересует именно механизм сравнения!!!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вести строку 100 символов. В этой строке надо заменить парные симлолы если они есть
СообщениеДобавлено: Пт, окт 10 2014, 15:49 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
Code:
replace all occurrences of regex `(.)\1+` in str with `$1`.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вести строку 100 символов. В этой строке надо заменить парные симлолы если они есть
СообщениеДобавлено: Пн, окт 13 2014, 16:27 
Ассистент
Ассистент

Зарегистрирован:
Пт, окт 03 2014, 13:26
Сообщения: 28
А как сделать без использования щетчика переборов!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вести строку 100 символов. В этой строке надо заменить парные симлолы если они есть
СообщениеДобавлено: Чт, окт 16 2014, 21:48 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 09:38
Сообщения: 170
sashoki написал(а):
А как сделать без использования щетчика переборов!

Вам надо проблему решить или чье-то задание выполнить?
Если вам не подходит работающий ответ выше, то может хотя бы :rtfm: ?

Возможно не учел какие-то моменты, нет под рукой дебагера
Code:
DATA:
   lv_input(100)    TYPE c
   , lv_len              TYPE i
   , lv_offset           TYPE i
   , lv_prev            TYPE c
   , lv_output(100)  TYPE c
   , lv_space          TYPE c
   .

   lv_input = 'tttteeesstt    iiinnnpuuut'.
   
   lv_len = STRLEN ( lv_input ).
   
   DO lv_len TIMES.
      lv_offset = sy-index - 1.
      IF lv_offset = 0.
         lv_prev = lv_input+lv_offset(1).
         CONCATENATE lv_output lv_input+lv_offset(1) INTO lv_output.
      ELSE.
         IF lv_input+lv_offset(1) <> lv_prev.
            lv_prev = lv_input+lv_offset(1).
            IF lv_prev IS NOT INITIAL.
               IF lv_space IS NOT INITIAL.
                  CONCATENATE lv_output lv_input+lv_offset(1) INTO lv_output.
               ELSE.
                  CONCATENATE lv_output lv_input+lv_offset(1) INTO lv_output SEPARATED BY space.
                  CLEAR lv_space.
               ENDIF.
            ELSE.
               space = 'X'.
            ENDIF.
         ENDIF.
      ENDIF.
   ENDDO.
   
   write lv_output.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB