比如有这么一个字符串:
123456789 987654 55555其中分割这3段字符中的分割是由 空格 和 [TAB]制表符组成
可能是一个或连续的空格
可能是一个或多个[TAB]符
也有可能是空格和制表符号的混合 。
提问:如何写一函数替换其中一段字串。funchgStr(str1:string,str2:string,num:Integer):string
str1表示原串(如上面的123456789 987654 55555)
str2表示需要换的串(如:8888)
num表示要替换掉第几个串(如:2)
funchgStr('123456789 987654 55555','8888',2)应该返回为'123456789 8888 55555'
123456789 987654 55555其中分割这3段字符中的分割是由 空格 和 [TAB]制表符组成
可能是一个或连续的空格
可能是一个或多个[TAB]符
也有可能是空格和制表符号的混合 。
提问:如何写一函数替换其中一段字串。funchgStr(str1:string,str2:string,num:Integer):string
str1表示原串(如上面的123456789 987654 55555)
str2表示需要换的串(如:8888)
num表示要替换掉第几个串(如:2)
funchgStr('123456789 987654 55555','8888',2)应该返回为'123456789 8888 55555'
解决方案 »
- 获取网页信息
- 高分提问!!!!关于SOCKET问题,服务器端口正在监听,但是TELNET不到
- bewteen函数使用疑惑
- DBgridEh特定行的显示风格问题,在线给分。
- TSocketConnection问题,请大侠指教
- 如何使自己得程序不会被其它程序关闭?
- 用DBEdit添加数据时,我想判断他的值是否已在数据库中,如何取的他的值,他没有Text属性啊,
- 怎样不用TWEBBROWSER直接使用IHTMLDOCUMENT2来分析HTML代码?
- 如何获得存储过程中的错误信息
- 怎么让做好的程序只启动一次?
- 关于intraWeb的IWMemo在页面使用IWTemplateProcessorHTML时无法控制大小的问题
- 五一到了,散分~~~~~~~~~~~~~~~~~~~~~
var i,n,m:integer;
temp,rs:string;
begin
temp:=str1;
for i:=1 to num-1 do
begin
n:=pos(' ',temp);
temp:=trim(Copy(temp,n,length(temp)-n));
end;
m:=pos(' ',temp);
rs:=copy(temp,1,m-1);
Result:=StringReplace(str1,rs,str2,[]);
end;
测试不通过
temp:=StringReplace(str1,#9,' ',[rfReplaceAll]);
for i:=1 to num-1 do
begin
n:=pos(' ',temp);
temp:=trim(Copy(temp,n,length(temp)-n+1));
end;
m:=pos(' ',temp);
rs:=copy(temp,1,m-1);
Result:=StringReplace(str1,rs,str2,[rfReplaceAll]);
考虑到多个[tab]符 先把所有的[tab]改成空格----[tab]就是 #9
然后替换 不过循环中的长度要+1你计算错啦 呵呵谢谢楼上的