Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2015, 20:38   #1
Gover
Пользователь
 
Регистрация: 28.03.2010
Сообщений: 20
По умолчанию Вставить пробел в строку после каждого N символа

Помогите решить задачу, не соображу никак.
На практике нужно в строку введенную в Edit добавить пробелы после каждого 4-го символа, если длинна строки делится на 4, то в конце пробел не добавлять.

Последний раз редактировалось Gover; 22.03.2015 в 20:40.
Gover вне форума Ответить с цитированием
Старый 23.03.2015, 08:51   #2
SQLPowerUser
Форумчанин
 
Аватар для SQLPowerUser
 
Регистрация: 19.01.2015
Сообщений: 158
По умолчанию

Я правильно понял, что строка типа Мама мыла раму должна остаться без изменений?
А строка Где сидит фазан превращается в (тут 2 пробела после слова Где)
Код:
Где  сиди т фа зан
Или тупо расставить пробелы невзирая ни на что? Мама мыла раму превращается в
Код:
Мама  мыл а ра му

Последний раз редактировалось SQLPowerUser; 23.03.2015 в 08:55.
SQLPowerUser вне форума Ответить с цитированием
Старый 23.03.2015, 19:23   #3
Gover
Пользователь
 
Регистрация: 28.03.2010
Сообщений: 20
По умолчанию

Нет, смысл такой. Есть строка из 16-ти цифр, нужно разделить ее на группы по 4 цифры, разделенной пробелами (номер платежной карточки).
Gover вне форума Ответить с цитированием
Старый 23.03.2015, 19:29   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
for i:=Length(s) downto 4 do if (i mod 4=0) and (i<Length(s)) then Insert(' ',s,i+1);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 23.03.2015, 19:38   #5
Gover
Пользователь
 
Регистрация: 28.03.2010
Сообщений: 20
По умолчанию

Ок, спасибо, то что нужно.
Gover вне форума Ответить с цитированием
Старый 23.03.2015, 19:44   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Так проще будет
Код:
for i:=Length(s)-1 downto 4 do if i mod 4=0 then Insert(' ',s,i+1);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вставить заданное значение после каждого элимента массива, расположенного после первого нулевого элимента D.vers Общие вопросы C/C++ 0 01.06.2014 17:17
В целочисленном массиве Х(N) после каждого четного числа вставить максимальный элемент массива Артём555 Visual C++ 0 18.12.2012 19:57
вставить строчку в контент после сотого символа veleg PHP 4 20.10.2011 22:23
Вставить пробел до и после каждой цифры текста LittleStudent Помощь студентам 2 14.04.2011 22:48
Как вставить в слове после любой буквы пробел? Stager Общие вопросы C/C++ 5 07.01.2009 14:05