Trích:
so_0_lanh_lung
Hỏi về xâu :
về xóa kí tự trắng ở đầu cuối và giữa...
tại sao ta không cho chạy từ 1 -- > length(st) nếu s[i] = #32 thì delete(st,i,1);
có nghĩa là nó chạy gặp kí tự trắng thì Xóa.....
mà phải dùng WHILE xóa đầu Xóa đuôi,,rồi POS để xóa giữa
|
Là vì khi del bạn đã thay đổi chuỗi đó rồi (làm nó ngắn đi). Vì vậy bạn phải dùng while nếu dùng for cũng được nhưng bạn cần phải hiểu về bản chất ngôn ngữ bạn viết thì mới sửa cho thích hợp được.
Code:
repeat
if s[i]=#32 then delete(s,i,1) else inc(i)
until i>length(s){Thông cảm chỗ này mình viết vội nên hơi nhầm}
Code:
for i=1 to length(s) do
if s[i]=#32 then
begin
delete(s,i,1)
dec(i)
end