Форум: "Основная";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];
Внизработа со строками Найти похожие ветки
← →
dracula © (2004-08-01 15:24) [0]есть например такая строка (xxxxxxx\xxxxx/xxxxxxx) ну и т.д. как из неё убрать эти символы - / и \.
← →
Ну ну (2004-08-01 15:35) [1]function Pos(Substr: string; S: string): Integer;
procedure Delete(var S: string; Index, Count:Integer);
← →
dracula © (2004-08-01 16:00) [2]не совсем то что надо( хотя тоже можно применить), может я не так спросил - мне надо их не удалять, а сделать так чтобы они (/, \)не отображались например в Edit1.Text, а был только текст, причём местоположение этих знаков я незнаю, оно всегда разное. То что ты дал можно сделать, но может попроще чего есть?
← →
Timedrops © (2004-08-01 16:01) [3]function deletesubstr(substr,mainstr: string):string;
begin
while pos(substr,mainstr)<>0 do
delete(mainstr,pos(substr,mainstr),length(substr));
result:=mainstr;
end;
вот так попробуй
← →
Anatoly Podgoretsky © (2004-08-01 16:02) [4]Это уже какой по счету вопрос про строки, когда ты не думаешь перед тем как задать.
← →
dracula © (2004-08-01 16:02) [5]щас попробую =)
← →
dracula © (2004-08-01 16:04) [6]Anatoly Podgoretsky
над этим вопросом я думал, а на счёт предыдущего стормозил извините.
← →
Anatoly Podgoretsky © (2004-08-01 16:06) [7]dracula © (01.08.04 16:00) [2]
может я не так спросил
← →
dracula © (2004-08-01 16:35) [8]всё может быть, хватит прикалываться. Anatoly Podgoretsky © - ты лучше подскажи как символы из строки string убрать. То что мне тут пишут я непонимаю (тупой), мне на примере всё показывать надо =).
← →
Anatoly Podgoretsky © (2004-08-01 16:43) [9]Чмтай выше, не поможет - еще раз читай
← →
Юрий Зотов © (2004-08-01 16:44) [10]function DeleteChars(S: string; Chars: set of char): string;
var
i: integer;
begin
Result := S;
for i := Length(S) downto 1 do
if Result[i] in Chars then
Delete(Result, i, 1)
end;
========================
Edit1.Text := DeleteChars(S, ["\", "/"]);
← →
dracula © (2004-08-01 16:51) [11]Anatoly Podgoretsky © - ладно тебе я в школе последний раз читал =) вот добрый человек написал мне - ЮРИЙ ЗОТОВ - супер, спасибо тебе, а то Anatoly Podgoretsky меня читать заставлял, то чего я понять немогу - садист(без обид). Вот на примере я всё понял!!! спасибо
← →
Ну ну (2004-08-01 16:56) [12]В Западной Европе российское высшее образование просто так не признаётся - теперь понятно почему:( Или в анкете лажа?
← →
Юрий Зотов © (2004-08-01 16:57) [13]> dracula © (01.08.04 16:51) [11]
> а то Anatoly Podgoretsky меня читать заставлял то
> чего я понять немогу
Правильно заставлял. Иначе никогда и не поймете.
← →
Anatoly Podgoretsky © (2004-08-01 16:57) [14]Пример в [3] точно такой же рабочий, последний более универсальный. А читать надо!!!
← →
default © (2004-08-01 20:20) [15]можно ещё так
type
TChars = Set of Char;
function DeleteChars(const S: String; Chars: TChars): String;
var
i, P, C: Cardinal;
begin
P := 1;
C := 0;
SetLength(Result, Length(S));
for i := 1 to Length(S) do
if S[i] in Chars then begin
Move(S[P], Result[P - C], i - P);
Inc(C);
P := i + 1;
end;
if P <= Length(S) then Move(S[P], Result[P - C], Length(S) - P + 1);
SetLength(Result, Length(Result) - C)
end;
function DeleteChars(const S: String; Chars: TChars): String;
var
i, P: Cardinal;
begin
P := 1;
SetLength(Result, Length(S));
for i := 1 to Length(S) do
if not (S[i] in Chars) then begin
Result[P] := S[i];
Inc(P);
end;
SetLength(Result, P - 1)
end;
я было подумал что с Move-ом будет заметно быстрее когда число символов между разделителями достаточно велико, но при таких условиях разница довольно мала так что если важна скорость пользуйся вторым вариантом
"Вот на примере я всё понял!!!"
и почему цикл наоборот сделан?
← →
default © (2004-08-01 20:22) [16]если важна скорость в общем случае пользуйся вторым вариантом
← →
AndB © (2004-08-02 06:14) [17]а почему не так:
s1 := "xxxxx\xxxxx\xxxx\/xxx";
s1 :=AnsiReplaceStr(s1, "\","");
s1 :=AnsiReplaceStr(s1, "/","");
/* все-все, ухожу читать.. :) */
← →
Alx2 © (2004-08-02 07:36) [18]>Юрий Зотов © (01.08.04 16:44)
Может, я не прав. Но уже входит в классику использовать алгоритмы с квадратичной сложностью вместо линейной. Тем более, в очевидных случаях.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.032 c