Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

удаление символов из строки

Здравствуйте comp,
Проблема заключается в следующем:
пишу irc клиента, мне нужно очистить приходящий текст, он имеет
следующий вид:

xobot!~xo6***@p*****.by JOIN :#nfk
xobot!~xo6***@p*****.by PRIVMSG #nfk :hi
[cM]Neo_!~IGR_N***@8*****.114 JOIN :#Nfk
PQR!~nfk_us***@t*****.ru JOIN :#nfk
PING :irc.wenet.ru
PQR!~nfk_us***@t*****.ru PRIVMSG #nfk :вторая игра
[cM]night_!~nfk_us***@t*****.ru QUIT :Ping timeout
[cM]Neo_!~IGR_N***@8*****.114 PRIVMSG #Nfk :я не понял
[cM]night_!~nfk_us***@t*****.ru JOIN :#nfk
[DJ]NoNaMe!~nfk_us***@8*****.85 QUIT :Quit: PROGRAMMING - RULEZZZ FOREVER
[cM]Neo_!~IGR_N***@8*****.114 PRIVMSG #Nfk :PQR CUP где проводится-то
[cM]Neo_!~IGR_N***@8*****.114 PRIVMSG #Nfk :нарооод
PQR!~nfk_us***@t*****.ru PRIVMSG #nfk :спайк предлагал dm2,
но рок категорически хочет играть t4
PQR!~nfk_us***@t*****.ru PRIVMSG #nfk :сможет ли он взять реванш?
[cM]Neo_!~IGR_N***@8*****.114 PART #Nfk
[cM]Neo_!~IGR_N***@8*****.114 JOIN :#nfk
PQR!~nfk_us***@t*****.ru PRIVMSG #nfk :[cM]Neo_, в офисе клана
[NFK]

Мне нужно чтобы данные приходящие мне фильтровались, то есть убрать
!~xo6***@p*****.by после ника и убрать PRIVMSG #nfk, удалялось
PING :irc.wenet.ru, данные
после такой фильтровки должны выглядить так:

xobot JOIN :#nfk
xobot:hi
[cM]Neo_ JOIN :#Nfk
PQR JOIN :#nfk
PQRвторая игра
[cM]night_ QUIT :Ping timeout
[cM]Neo_:я не понял
[cM]night_ JOIN :#nfk
[DJ]NoNaMeQUIT :Quit: PROGRAMMING - RULEZZZ FOREVER
[cM]Neo_:PQR CUP где проводится-то
[cM]Neo_:нарооод
PQR:спайк предлагал dm2, но рок категорически хочет играть t4
PQR:сможет ли он взять реванш?
[cM]Neo_ PART #Nfk
[cM]Neo_ JOIN :#nfk
PQR:[cM]Neo_, в офисе клана [NFK]

Ещё по возможности как сделать чтобы ник отображался не nick а
<nick>???

ОЧЕНЬ надеюсь на вашу помощь!

Ответить   Fri, 6 Feb 2004 14:09:39 +0200 (#73608)

 

Ответы:

Привет keel,
На чем пишеш irc клиента ?
Есть несколько методов
1. Создаеш типа массива, разбитый на несколько частей - соотвественно
ник, адрес, ...., сообщение и эту строку помещаеш в этот массив а
далее ...
2. Если во свех строках все части строки разделены одинакого, на
примером пробелом, тогда просто находи нухный входный символ (на
пример входящий символ ! второй входящий символ пробел и все что между
ними удалешь) ....
Вот так вот ...

Ответить   Thu, 12 Feb 2004 22:07:41 +0500 (#78766)

 

Здравствуйте deonis_fon,

Thursday, February 12, 2004, 7:07:41 PM, вы писали:

Приветствую и тебя!

Я уже решил эту проблему таким способом:

var
s: string;
b: string;
i: integer;
f1, f2: integer;
begin
s:= edit1.Text; {здесь храниться исходная строка, к примеру :BOOBLIK!~boobli***@2*****.134
PRIVMSG #nfk :бан}
for i:= 1 to length(s) do begin
if s[i]='!' then f1:= i;
if s[i]=':' then f2:= i;
end;
for i:= 2 to f1 do begin {for i:= 2 для того чтобы убрать : перед booblik}
b:= b + s[i];
end;
for i:= f2 to length(s) do begin
b:= b + s[i];
end;

edit2.Text:= b; {выводится отфильтрованая строка}

Может это и не самы лучший способ, но мне подойдет.

Ответить   Fri, 13 Feb 2004 18:46:52 +0200 (#79569)