Страница: 1 | 2 |
Вопрос: Два вопроса
Добавлено: 26.06.04 23:43
Автор вопроса: Ujif | Web-сайт:
1 Как удалить все лишние пробелы
2 как из текст все слова в список загнать
Ответы
Всего ответов: 16
Номер ответа: 1
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #1
Добавлено: 27.06.04 00:06
Ответ сразу на два вопроса - через Split.
Номер ответа: 2
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #2
Добавлено: 27.06.04 01:49
пробелы с концов хорошо удаляет Trim$(str)
Номер ответа: 3
Автор ответа:
Eddie
Вопросов: 11
Ответов: 120
Профиль | | #3
Добавлено: 27.06.04 02:21
Еще добавлю, Если помогет: LTRIM (Слева все пробелы), RTRIM (Справа все пробелы) и как сказал Sne Trim (Удаляет по бокам), второй вопрос я не понял d
Номер ответа: 4
Автор ответа:
Eddie
Вопросов: 11
Ответов: 120
Профиль | | #4
Добавлено: 27.06.04 02:25
А во еще: если Ты имеешь ввиду все лишние пробелы в Тексте, а не токо по бокам, то состряпай маленький Модулек чтоб оставлял токо Один пробел м/у словами (/Символами) ...
Номер ответа: 5
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #5
Добавлено: 27.06.04 03:00
хе, сколько оживления вокруг некорректно заданного вопроса
Я вот еще чуток пофлудю
Можно воспользоваться функцией Replace(str, " " тут уж все двойные пробелы уйдут в небытие...
ну конечно же можно пойти наиболее долгим путем (в плане быстродействия) и сделать примерно так:
dim i as long, bt as byte, flag as long, strOut as srting
for i=1 to len(str)
if not (mid$(str, i, vbnull) = " " and bt = 32) then strOut=strOut & mid$(str, i, vbnull
bt=asc(mid$(str, i, vbnull))
next
ЗЫ
это всего лишь пример, тут ничего не оптимизировано да и вообще он вряд-ли будет работать но идея такова...
Номер ответа: 6
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #6
Добавлено: 27.06.04 03:01
if not (mid$(str, i, vbnull) = " " and bt = 32) then strOut=strOut & mid$(str, i, vbnull)
(скобку забыл...)
Номер ответа: 7
Автор ответа:
rx
ICQ: 310731115
Вопросов: 10
Ответов: 45
Web-сайт:
Профиль | | #7
Добавлено: 27.06.04 13:32
Это - моя функция....
Использует рекурсию, работает быстро
Private Function NoSpaces(ByVal s As String) As String
 im v As Integer
v = InStr(1, s, " "
If v <> 0 Then
s = Mid(s, 1, v - 1) + Mid(s, v + 1)
s = NoSpaces(s)
End If
NoSpaces = s
End Function
Пример...
Text1.text = NoSpaces(text1.text)
Номер ответа: 8
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #8
Добавлено: 27.06.04 15:33
Быстро это работать не может по определению.
Номер ответа: 9
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #9
Добавлено: 27.06.04 15:45
зачем же тут рекурсия? разве что для стек overflow?
Номер ответа: 10
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #10
Добавлено: 27.06.04 15:53
Даже если не быстро, зато очень компактно. Даже сохранил у себя для коллекции.
Хорошо хоть теперь буду знать что означает слово "рекурсия". Если конечно ты сам правильно понял его значение.
Номер ответа: 11
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #11
Добавлено: 27.06.04 16:23
хе, тогда может я теперь сам не знаю что такое рекурсия !?
по-моему решить проблемму с пом. рекурсии, значит что процедура/функция вызывает сама себя (из своего же тела)...
объясните мне не знающему !?
Номер ответа: 12
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #12
Добавлено: 27.06.04 16:26
Ага, только я не знал что рекурсия - это именно это.
Номер ответа: 13
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #13
Добавлено: 27.06.04 16:28
а, нет... я уже испугался было
вижу вызов самой себя... прям с души камень
Номер ответа: 14
Автор ответа:
rx
ICQ: 310731115
Вопросов: 10
Ответов: 45
Web-сайт:
Профиль | | #14
Добавлено: 27.06.04 16:43
Да - рекурсивная функция - функция которая вызивает сама себя...
Очень полезная штука, вышеуказанний пример (ИМХО) - доволно хороший пример...
И ещо - рекурсия работает быстро - в том и прикол...
(ниобрашаите внимания на мою ортографию - мне русский не родной - мой родной VB !!!!!!!)
Номер ответа: 15
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #15
Добавлено: 27.06.04 17:11
>ниобрашаите внимания на мою ортографию - мне русский не родной - мой родной VB !!!!!!!)
- А какой?