Задни пространства
как да премахнете крайните интервали в низ
Защо да изхвърляте, ще порасне отново!
Но сериозно:
процедура LTrim(var s : низ);
докато ((дължина(и) > 0) и
процедура RTrim(var s : низ);
докато ((дължина(и) > 0) и
(s[Дължина(и)] = #32)) направи
Изтриване(я), Дължина(и), 1);
процедура Trim(var s : низ);
>[3] SerJaNT(c) 6-Oct-2006 04:17не пишете това отново. нека научим стандартните библиотеки. %-)
Dumkin обаче вече отговори в [11] :)
Е, например, според този принцип: . i:=length(a); while a[i]=#32 и i>0 do dec i; setlength(a,i); .
> while a[i]=#32 and i>0 do dec i;while (i>0) and (a[i]=#32) do dec i;
функция ltrim(s: низ): низ; променлива i, x: цяло число; начало резултат := ""; ако s = "" тогава изход; i := 0; for x := 1 to length(s) do if s[x] = " " then inc(i) else break; ако аз > 0 след това изтрийте(s, 1, i); резултат := s; край;
функция rtrim(s: низ): низ; променлива x, i: цяло число; начало резултат := ""; ако s = "" тогава изход; i := 0; for x := length(s) downto 1 do if s[x] = " " then inc(i) else break; ако аз > 0 след това изтриване (s, x + 1, i); резултат := s; край;
Знам. Просто писах директно във форума и не се замислих за правилния синтаксис. Между другото, има друга синтактична грешка.
И компилаторът не се кълне в използването на променливата за цикъл извън цикъла?
вместо if s[x] = " " трябва да напишете if Ord(s[x])
В [0] бешесамоза интервали.
> броячът на цикъла се използва извън негои защо не може да се използва?
> но откаква причина да не използвате?за вас на първо място поради предупреждението на компилатора
Очевидно не знаех това. По принцип в моя код можете да използвате брояча (i)
Без телепатор човек може само да гадае, но никога не знае със сигурност.
Това не е брояч на цикъл, а обикновена променлива, така че е добре.