Форум: "Начинающим";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];
ВнизОчистить строку от спецсимволов Найти похожие ветки
← →
unregistered_member (2007-04-14 22:42) [0]Бодрого времени суток! Подскажите как очистить строку от спецсимволов (перевода строки, etc)? Требуется загрузить в string текст из файла, и работать с ним, а спецсимволы мешаются, может какая функция для очистки есть; нужно получить просто строку состоящую из стандартных "видимых" символов.
← →
Плохиш © (2007-04-14 22:52) [1]
for i:=1 to length(s) do if s[i]<#32 then s[i]:=#32;
Только нафига она эта строка после этого нужна будет?
← →
{RASkov} (2007-04-14 23:00) [2]или такой вариант:
for N:= Length(S) downto 1 do
if ORD(S[N])<32 then Delete(S, N, 1);
или
for N:= Length(S) downto 1 do
if not (S[N] in ["A".."я", "A".."z", " ", "0".."9",.....]) then Delete(S, N, 1);
← →
Anatoly Podgoretsky © (2007-04-14 23:00) [3]> unregistered_member (14.04.2007 22:42:00) [0]
Если есть символы перевода строки, то это уже две строки.
← →
unregistered_member (2007-04-14 23:28) [4]строка = массив символов, даже если в них затесался символ перевода строки, то это все равно одна строка
В выводе этой строки она разобьется на две, но это уже в выводе...
← →
{RASkov} (2007-04-14 23:39) [5]> [4] unregistered_member (14.04.07 23:28)
Садись... пять :)
← →
Плохиш © (2007-04-15 00:15) [6]
> unregistered_member (14.04.07 23:28) [4]
> строка = массив символов, даже если в них затесался символ
> перевода строки
Если в строке "затесался" какой-нибуть символ, то кто-то этот символ туда с какой-то целью вставил и если вы из строки этот символ уберёте, то будет уже не исходная строка. Смысл обрабатывать фразу "Казнить нельзя, помиловать" как "Казнить, нельзя помиловать" вижу только применительно к действию над вами...
← →
McSimm © (2007-04-15 00:27) [7]
> если вы из строки этот символ уберёте, то будет уже не исходная
> строка
Работу со строками необходимо вообще запретить. Как ересь :)
← →
Anatoly Podgoretsky © (2007-04-15 00:51) [8]Ты наверно путаешь с типом string
← →
Германн © (2007-04-15 01:10) [9]
> Anatoly Podgoretsky © (15.04.07 00:51) [8]
>
> Ты наверно путаешь с типом string
>
Только тип ShortString не трогайте, пожалуйста! Он греет мою душу уже много лет. И, надеюсь, останется со мной, пока смерть не разлучит нас! :-)
← →
Плохиш © (2007-04-15 04:29) [10]
> Германн © (15.04.07 01:10) [9]
Говоришь душу греет? Хм,хм... <кровожадно прищуриваясь, точа ржавую шашку> :-))
← →
unregistered_member (2007-04-15 12:14) [11]Ну как всегда, еще предложения по сути вопроса есть?
← →
Плохиш © (2007-04-15 12:45) [12]
> unregistered_member (15.04.07 12:14) [11]
> Ну как всегда, еще предложения по сути вопроса есть?
Спасибо, порадовал...
← →
проходивший мимо (2007-04-15 15:26) [13]можно сделать так:
(использую MEMO, т.к. не помню как подобный массив называется, толи TList, толи TStringList, вобщем не помню)
var
s,stroka:string;
i:integer;
begin
Memo1.Lines.LoadFromFile("data.txt");
stroka:="";
for i:=0 to Memo1.Lines.Count-1 do
stroka:=stroka+Memo1.Lines[i];
Edit1.Text:=stroka;
← →
Amoeba © (2007-04-16 11:05) [14]Скачай библиотеку QStrings (бесплатно, в исходниках). Поиск поможет.
← →
unregistered_member (2007-04-16 17:22) [15]Спасибо откликнувшимся, сделал с стиле
if ORD(S[N])<32 ...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.035 c