Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Два вопроса Добавлено: 26.06.04 23:43  

Автор вопроса:  Ujif | Web-сайт: - | ICQ:
1 Как удалить все лишние пробелы
2 как из текст все слова в список загнать

Ответить

  Ответы Всего ответов: 16  

Номер ответа: 1
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #1
Добавлено: 27.06.04 00:06
Ответ сразу на два вопроса - через Split.

Ответить

Номер ответа: 2
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #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-сайт: hw.t-k.ru
 Профиль | | #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-сайт: hw.t-k.ru
 Профиль | | #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-сайт: erix.times.lv
 Профиль | | #7
Добавлено: 27.06.04 13:32
Это - моя функция....
Использует рекурсию, работает быстро

Private Function NoSpaces(ByVal s As String) As String
    ;Dim 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-сайт: sharpc.livejournal.com
 Профиль | | #8
Добавлено: 27.06.04 15:33
Быстро это работать не может по определению.

Ответить

Номер ответа: 9
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #9
Добавлено: 27.06.04 15:45
зачем же тут рекурсия? разве что для стек overflow? :)

Ответить

Номер ответа: 10
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #10
Добавлено: 27.06.04 15:53
Даже если не быстро, зато очень компактно. Даже сохранил у себя для коллекции.
 Хорошо хоть теперь буду знать что означает слово "рекурсия". Если конечно ты сам правильно понял его значение.

Ответить

Номер ответа: 11
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #11
Добавлено: 27.06.04 16:23
хе, тогда может я теперь сам не знаю что такое рекурсия !?

по-моему решить проблемму с пом. рекурсии, значит что процедура/функция вызывает сама себя (из своего же тела)...

объясните мне не знающему !?

Ответить

Номер ответа: 12
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #12
Добавлено: 27.06.04 16:26
 Ага, только я не знал что рекурсия - это именно это.

Ответить

Номер ответа: 13
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #13
Добавлено: 27.06.04 16:28
а, нет... я уже испугался было :)
вижу вызов самой себя... прям с души камень :)

Ответить

Номер ответа: 14
Автор ответа:
 rx



ICQ: 310731115 

Вопросов: 10
Ответов: 45
 Web-сайт: erix.times.lv
 Профиль | | #14
Добавлено: 27.06.04 16:43
Да - рекурсивная функция - функция которая вызивает сама себя...
Очень полезная штука, вышеуказанний пример (ИМХО) - доволно хороший пример...
И ещо - рекурсия работает быстро - в том и прикол...
(ниобрашаите внимания на мою ортографию - мне русский не родной - мой родной VB !!!!!!!)

Ответить

Номер ответа: 15
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #15
Добавлено: 27.06.04 17:11
>;(ниобрашаите внимания на мою ортографию - мне русский не родной - мой родной VB !!!!!!!)
 - А какой?

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам