forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   Замена символов в строке (http://forum.boolean.name/showthread.php?t=15893)

treycerok 23.11.2011 17:02

Замена символов в строке
 
и так есть код

var i:integer;
s:string;
begin
s:='gui_des';
setcolor(0);
for i:=1 to Length(s) do
begin
if s[i]='_' then s[i]:='+';

end;
drawtext(s,0,0);
repaint;
delay(2000);
end.


Вообщем не фурычит обращение к символу по его номеру в строке.... каким другим способ можно решить эту задачу? мне нужна замена определенного символа

alexprey 23.11.2011 17:57

Ответ: Замена символов в строке
 
getChar вроде. И не забываем сперва обращаться к доку

treycerok 23.11.2011 19:17

Ответ: Замена символов в строке
 
Вложений: 1
да, так и решил , после минут десяти раздумий, просто привычно как в турбике, можно обращаться как к массиву ... =)

Делал циклом, но решил либу написать на J2ME ))слава богу ещё ума хватает на это)
если кому станет интересно,то могу и доделать до лучшего библиотеку)щас пока просто заменяется один символ,на другой, всё внутри вообщем)

Хотя если сделать так :
r:='abvgd';
r2:='абвгд';
s:=replacer('a12sasbwvsagffd',r,r2);
будет таковым возврат - a12sasбwвsaгffд
=)

alexprey 23.11.2011 22:28

Ответ: Замена символов в строке
 
эх.
Код:

function Replace(strIn, patern: string): string;
 var p,len: integer;
      return: string;
begin
 return := '';
 len := Length(patern);
 p := Pos(strIn, patern);
 while (p >= 0) do
 begin
  return := return + Copy(strIn, 0, p)+patern;
  strIn := Copy(strIn, p+len, Length(strIn));
  p := Pos(strIn, patern);
 end;
 Result := return;
end;

Ну как то так

treycerok 24.11.2011 00:19

Ответ: Замена символов в строке
 
Цитата:

Сообщение от alexprey (Сообщение 210884)
эх.
Ну как то так


да всё, то что я написал вполне удовлетворяет мои потребности)) и с моими задачами нормально справляются, но спасибо за ответ)

YellowAfterlife 24.11.2011 10:16

Ответ: Замена символов в строке
 
Текущая реализация немного... примитивная, что ли?

Хорошая реализация для замены одного совпадения:
PHP код:

// заменить(где, что, чем):результат
public static String replace(String whereString whatString with) {
    
int i where.indexOf(what);
    if (
== -1) return where;
    return 
where.substring(0i) + with where.substring(what.length());



bormotan 18.12.2011 08:22

Ответ: Замена символов в строке
 
Цитата:

Сообщение от treycerok (Сообщение 210832)
setcolor(0);

эммммм. а с каких это пор setcolor берет всего один параметр. вроде их три................
..............


Часовой пояс GMT +4, время: 05:54.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot