Пробелы

  Вход на форум   логин       пароль   Забыли пароль? Регистрация
On-line:  

Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Пробелы

Страницы: 1  новая тема

Автор Сообщение

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 30-12-2006 18:19
Как удалить пробелы из строки? (в Basic'e например эти функции называются RTrim$ и LTrim$)

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 30-12-2006 19:38
string_pos(substr,str) Returns the position of substr in str (0=no occurrence).
-- этип попробуй найти пробел str=" "

string_delete(str,index,count) Returns a copy of str with the part removed that starts at position index and has length count.
-- удали позицию пробела из строки

маэстро
Группа: Сообщество GM
Сообщений: 501
Добавлено: 30-12-2006 19:51
Например есть строка str1,удаляем пробелы. результат записываем в строку str2

str1='Game Maker'
for(a=0;a<=string_length(str1);a+=1){
if(string_ch ar_at(str1,a)=' '){
str2=string_delete(str1,a,1);}}

Тут могла быть ваша реклама
Группа: Сообщество GM
Сообщений: 1014
Добавлено: 30-12-2006 22:30
Как мне кажется не совсем правильный код.
Там получается, два пробела подряд удалить нельзя, потому что
перебирая строку допустим " "(два пробела,почемуто на форуме виден только один):
Сначала на первом шаге удалится первый пробел, а позиция на первом шаге перейдёт на второй знак, а знак то у нас один остался. ТАк что второй не удалиться.
Короче читайте справку внимательней, есть же там
string_replace_all(str,substr,newstr) Возвращает строку str, в которой все встречающиеся подстроки substr заменены подстрокой newstr.

Пишим
string_replace_all(str," ","")
и нет проблем

Дундук - не беспокоить!
Группа: Модераторы
Сообщений: 1435
Добавлено: 30-12-2006 22:35
Ну во-первых, ф-ии в первом посте удаляют пробелы в начале и в конце слова. Вот как это делается:

//обрезает пробелы по краям
var i, l;

i:= 1;
l:= string_length(argument0);
while (i <= l) and (string_ch ar_at(argument, i) <= ' ') do i += 1;
if i > l then
return ''
else begin
while string_ch ar_at(argument, l) <= ' ' do l -= 1;
return string_copy(argument0, i, l - i + 1);
end;

Тут могла быть ваша реклама
Группа: Сообщество GM
Сообщений: 1014
Добавлено: 30-12-2006 23:50
Я говорю
string_replace_all(str," ","")

и всё, зачем писать алгоритмы если и так всё есть

маэстро
Группа: Сообщество GM
Сообщений: 501
Добавлено: 31-12-2006 01:14
И точно!

Дундук - не беспокоить!
Группа: Модераторы
Сообщений: 1435
Добавлено: 31-12-2006 09:53
Угу, только из строки " бды ыфао и фыол"
получится "бдыыфаоифыол"

Тут могла быть ваша реклама
Группа: Сообщество GM
Сообщений: 1014
Добавлено: 31-12-2006 17:01
А вроде так ведь и нужно было

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 31-12-2006 20:13
да так и нужно! большое спасибо всем!
ЗЫ а разве ltrim и rtrim не это делают?

Дундук - не беспокоить!
Группа: Модераторы
Сообщений: 1435
Добавлено: 31-12-2006 20:28
они обрезают пробелы по краям

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 02-01-2007 21:34
буду знать...

Страницы: 1  новая тема
Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Пробелы

Отвечать на темы в данном разделе могут только зарегистрированные пользователи

Отвечать на темы могут только зарегистрированные пользователи

KXK.RU