powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / как найти определенный символ в строке и заменить его на другой
13 сообщений из 13, страница 1 из 1
как найти определенный символ в строке и заменить его на другой
    #32154823
SergeyS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите как найти определенный символ в строке и заменить его на другой. типа 34.2 на 34,2.
...
Рейтинг: 0 / 0
как найти определенный символ в строке и заменить его на другой
    #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
как найти определенный символ в строке и заменить его на другой
    #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
как найти определенный символ в строке и заменить его на другой
    #32155731
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
if pos('.',s)>0 then
s[pos('.',s)]:=',';
...
Рейтинг: 0 / 0
как найти определенный символ в строке и заменить его на другой
    #32155732
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
if pos('.',s)>0 then s[pos('.',s)]:=',';
...
Рейтинг: 0 / 0
как найти определенный символ в строке и заменить его на другой
    #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
как найти определенный символ в строке и заменить его на другой
    #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
как найти определенный символ в строке и заменить его на другой
    #32156405
Фотография ТиБиБи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если надо заменить только один символ, то:

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


Весна... ... ... :~)
...
Рейтинг: 0 / 0
как найти определенный символ в строке и заменить его на другой
    #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
как найти определенный символ в строке и заменить его на другой
    #32156445
Фотография ТиБиБи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не мудри.
Это Delphi.
В Ассемблерах или Сях каких я бы цикл по байтам строки организовал (примерно как Diesel_x34 предложил).
Да и одного поиска достаточно, поскольку SergeyS говорил о замене "десятичной запятой" на "аналогичную точку"...
Или наоборот.
У тебя думалка как, еще думалкает?
У меня спать просится...
...
Рейтинг: 0 / 0
как найти определенный символ в строке и заменить его на другой
    #32156941
Фотография cyc10ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2TBB

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

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

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

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

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


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