Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / как найти определенный символ в строке и заменить его на другой / 13 сообщений из 13, страница 1 из 1
07.05.2003, 08:52
    #32154823
SergeyS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как найти определенный символ в строке и заменить его на другой
Подскажите как найти определенный символ в строке и заменить его на другой. типа 34.2 на 34,2.
...
Рейтинг: 0 / 0
07.05.2003, 08:59
    #32154825
Ильшат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как найти определенный символ в строке и заменить его на другой
Код: plaintext
function Pos(Substr: string; S: string): Integer;

Description

In Delphi, Pos searches for a substring, Substr, in a string, S. Substr and S are string-type expressions.

Pos searches for Substr within S and returns an integer value that is the index of the first character of Substr within S. Pos is case-sensitive. If Substr is not found, Pos returns zero.

The PosEx function is similar to Pos, but provides additional features and can be used in C++ code.

Код: plaintext
function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;

Description
StringReplace replaces occurrences of the substring specified by OldPattern with the substring specified by NewPattern. StringReplace assumes that the source string may contain Multibyte characters.

S is the source string, whose substrings are changed.

OldPattern is the substring to locate and replace with NewPattern.

NewPattern is the substring to substitute for occurrences of OldPattern.

Flags is a set of flags that govern how StringReplace locates and replaces occurrences of OldPattern. If Flags does not include rfReplaceAll, StringReplace only replaces the first occurrence of OldPattern in S. Otherwise, StringReplace replaces all instances of OldPattern with NewPattern. If the Flags parameter includes rfIgnoreCase, The comparison operation is case insensitive.
...
Рейтинг: 0 / 0
08.05.2003, 09:56
    #32155728
Diesel_x34
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как найти определенный символ в строке и заменить его на другой
Или вот так...
----------------------------
procedure...
var
m: sting; //твоя строка
i: word;
begin
for i := 1 to Length(m) do
if m(i) = '.' then m(i) := ','; //и символы для замены...
end;
---------------------------
...
Рейтинг: 0 / 0
08.05.2003, 10:01
    #32155731
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как найти определенный символ в строке и заменить его на другой
if pos('.',s)>0 then
s[pos('.',s)]:=',';
...
Рейтинг: 0 / 0
08.05.2003, 10:01
    #32155732
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как найти определенный символ в строке и заменить его на другой
if pos('.',s)>0 then s[pos('.',s)]:=',';
...
Рейтинг: 0 / 0
08.05.2003, 10:13
    #32155746
Ильшат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как найти определенный символ в строке и заменить его на другой
Раз пошла такая пьянка....
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
var
  i: Integer;
begin
  Find := False;
  repeat
    Find = Str[i] = '.';
    Inc( i);
  until Find or ( i > Length( Str));
  if Find then
    Str[ i] := '.';

...
...
Рейтинг: 0 / 0
08.05.2003, 15:37
    #32156280
ТиБиБи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как найти определенный символ в строке и заменить его на другой
Код: plaintext
1.
2.
3.
4.
5.
6.
var
  i : Integer;
begin
  repeat
    i := Pos(',', Str);
    if i >  0  then Str [i] := '.';
  until i= 0 ;


Весна... пора дипломов... ;~)
...
Рейтинг: 0 / 0
08.05.2003, 17:40
    #32156405
ТиБиБи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как найти определенный символ в строке и заменить его на другой
А если надо заменить только один символ, то:

Код: plaintext
1.
2.
3.
4.
var
  i : Integer;
begin
  i := Pos(',', Str);
  if i >  0  then Str [i] := '.';


Весна... ... ... :~)
...
Рейтинг: 0 / 0
08.05.2003, 17:58
    #32156422
cyc10ne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как найти определенный символ в строке и заменить его на другой
> var
> i : Integer;
>begin
> repeat
> i := Pos(',', Str);
> if i > 0 then Str := '.';
> until i=0;

а может так плохо делать?, Pos каждый раз будет строку с начала просматривать в поисках ',' . тут однако надо либо не сначала строки под Pos отдавать либо как-то так делать:

J:= Length(S);
while (LongBool(J)) do begin
if S[J] = ','
then S[J] := '.';
Dec(J);
end;
...
Рейтинг: 0 / 0
08.05.2003, 18:37
    #32156445
ТиБиБи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как найти определенный символ в строке и заменить его на другой
Не мудри.
Это Delphi.
В Ассемблерах или Сях каких я бы цикл по байтам строки организовал (примерно как Diesel_x34 предложил).
Да и одного поиска достаточно, поскольку SergeyS говорил о замене "десятичной запятой" на "аналогичную точку"...
Или наоборот.
У тебя думалка как, еще думалкает?
У меня спать просится...
...
Рейтинг: 0 / 0
11.05.2003, 10:38
    #32156941
cyc10ne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как найти определенный символ в строке и заменить его на другой
2TBB

>Это Delphi
1) я согласен, для одного символа все всяких сомнений Pos вполне сгодится.

>В Ассемблерах или Сях каких я бы цикл по байтам строки организовал(примерно как Diesel_x34 предложил).

на С для можно было бы сделать для одного символа через strchr()
на asm i386 можно цикл по байтам организовать, а можно через
scasb с префиксом. впрочем ты и без меня знаешь.

>У тебя думалка как, еще думалкает?
>У меня спать просится...

сон необходим, мне вот сегодня call stack приснился, весело блин
...
Рейтинг: 0 / 0
12.05.2003, 05:44
    #32157091
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как найти определенный символ в строке и заменить его на другой
а можно узнать зачем? преобразование не понимает? тогда можно проще исхитрится. DecimalSeporator := ',' и преобразуй на здоровье или присваивай точку или вообще произвольный символ.
...
Рейтинг: 0 / 0
29.05.2003, 11:09
    #32171565
vergil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как найти определенный символ в строке и заменить его на другой
Подскажите как replace 192.....254 с АБВ.....абв.....
в Memo в Delphi6 ?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / как найти определенный символ в строке и заменить его на другой / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]