удаление повторяющихся пробелов

Программирование на Visual Basic for Applications
eXRay
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 09.05.2004 (Вс) 0:58
Откуда: Россия, Москва

удаление повторяющихся пробелов

Сообщение eXRay » 29.06.2005 (Ср) 16:12

сабж. как? буду рад коду.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 29.06.2005 (Ср) 16:16

dim l as long
l=len(s)
do
s=replace(s, " ", " ")
if len(s)=l then exit do else l=len(s)
loop
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

eXRay
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 09.05.2004 (Вс) 0:58
Откуда: Россия, Москва

Сообщение eXRay » 29.06.2005 (Ср) 16:20

спасибо.
только конечно же
Код: Выделить всё
s=replace(s, "  ", " ")
, а не
Код: Выделить всё
s=replace(s, " ", " ")

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 30.06.2005 (Чт) 4:24

Ну хаваются пробелы...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 30.06.2005 (Чт) 11:30

GSerg писал(а):dim l as long
l=len(s)
do
s=replace(s, " ", " ")
if len(s)=l then exit do else l=len(s)
loop

Более изящный вариант :)
Код: Выделить всё
Dim L As Long, S As String
S = "..."
Do While (L <> Len(S))
  L = Len(S)
  S = Replace(S, "  ", " ")
Loop
Lasciate ogni speranza, voi ch'entrate.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 30.06.2005 (Чт) 11:48

Робко напомню про REGEXP'ы, полезность использования которых возрастает, если требуется выполнить несколько разных задач по обработке текста, а не одну.


Вернуться в VBA

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

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

    TopList