各位哥哥们,帮助小妹妹吧:如何在一字符串里找出一子字符串并且以''代替?(50分)

  • 主题发起人 主题发起人 代码雪儿
  • 开始时间 开始时间

代码雪儿

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在一字符串里找出一子字符串并且以''代替?
咧如:
var str:string;
begin
str:='abc,def,ghi,ddd,ccc,mmm,';
//想找出abc,并且以''代替,最后:
str:='def,ghi,ddd,ccc,mmm,';
end;
 
procedure DeleteStr(var SourStr: string; SubStr: string);
var
Position: Integer;
begin
Position:=Pos(SubStr, SourStr);
Delete(SourStr, Pos, Length(SubStr))
end;
 
str := stringreplace(str, 'abc,', '', [rfReplaceAll]);
showmessage(str);
 
StringReplace(str, ',', '', [rfReplaceAll])
 
//查找ss中是否有Substr替换成Newstr
function MP_ReplaceStr(ss,SubStr,NewStr:string;RepAll,IgCase:Boolean):string;
var
a:TReplaceFlags;
begin
if RepAll=true then //符合条件的全部替换
include(a,rfReplaceAll);
if IgCase=true then //不区分大小写
include(a,rfIgnoreCase);
Result:=stringReplace(ss,Substr,Newstr,a);
end;
 
str:='abc,def,ghi,ddd,ccc,mmm,';
//想找出abc,并且以''代替,最后:
str:='def,ghi,ddd,ccc,mmm,';
按你这么说,最后结果应该是
str:=',def,ghi,ddd,ccc,mmm,';
才对吧。

要实现不难,楼上的几位大侠都已经回答了。


 
这样做,意义大吗?

GZ
 
function ReplaceString(var S: string; const Token, NewToken: string; bCaseSensitive: Boolean): Boolean;
var
I : Integer;
sFirstPart: string;
begin
if bCaseSensitive then
I := AnsiPos(Token, S)
else
I := AnsiPos(AnsiUpperCase(Token), AnsiUpperCase(S));

if I <> 0 then
begin
sFirstPart := Copy(S, 1, I - 1) + NewToken; // 磷?礚絘患癹
S := Copy(S, I + Length(Token), Maxint);
end;

Result := I <> 0;
if Result then
begin
ReplaceString(S, Token, NewToken, bCaseSensitive);
S := sFirstPart + S;
end;
end;

procedure Simple_ReplaceString(var S: string; const Substr: string; index, Count: Integer);
begin
S := Format('%s%s%s',[Copy(S, 1, index - 1), Substr, Copy(S, index + Count, Maxint)]);
end;

 

有两种方法:
1。用函数 stringReplace();
if pos('abc',str) then
stringReplace( str,'abc','',[rfReplaceAll]);
2.用函数 delete(),insert();
if pos(findStr,str) then begin
index :=pos(findStr,str);
delete(str,index,length(findStr);
//如果替换成不为空的串,则需要调用
if findStr<>'' then
insert(str,index,findstr);
end;
 
^_^,我好心欢~
 
没必要再讨论了,结贴吧!
 
最近第二个自称“小妹”的。[:D]

解决了,好多方案,我好心欢~。
 
这帮小狐狸,还挺有办法....
 
大富翁最近居然有妖女出现,真是不好的眺头
 
多人接受答案了。
 

Similar threads

后退
顶部