一个简单的字符串操作问题 我现在要实现的功能非常简单,我在C#里面实现过。但是转到delphi很多函数不太清楚。所以请各位高手帮个忙。<a1>测试1<a2><a1>测试2<a2><a1>测试3<a2>我现在要提取<a1>到<a2>之间的字符串。返回以数组的形式返回{'测试1','测试2','测试3'}。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 很多字符串处理函数都可以比如 Copy ,Pos 兄弟,我要的是具体代码。或者可以将C#的函数给我转换到delphi里面也行的。String.IndexOfString.RemoveString.Substring就这个几个函数。 假设 D:\test.txt 内容如下 :<a1>测试1<a2><a1>测试2<a2><a1>测试3<a2>Type type TSelfArr : array of String; function readFileToArray(): TSelfArr ;var sl : TStringList ; i : Integer ; tmpStr : String ;begin sl := TStringList.create(); sl.LoadFromFile('D:\test.txt') ; for(i :=0 to sl.Count-1) do begin tmpStr := sl[i] ; tmpStr := StringReplace(tmpStr, '<a1>', [rfRelpaceAll, rfIgnoreCase]) ; tmpStr := StringReplace(tmpStr, '<a2>', [rfRelpaceAll, rfIgnoreCase]) ; SetLength(Result, Length(Result)+1) ; Result[Length(Result)-1] := tmpStr ; end;end; 机器没有Delphi ,在Notepad++中写的,自己调试一下 ,希望能对你有帮组 ; 少写了个参数:把这两句 tmpStr := StringReplace(tmpStr, '<a1>', [rfRelpaceAll, rfIgnoreCase]) ; tmpStr := StringReplace(tmpStr, '<a2>', [rfRelpaceAll, rfIgnoreCase]) ;换成: tmpStr := StringReplace(tmpStr, '<a1>', '', [rfRelpaceAll, rfIgnoreCase]) ; tmpStr := StringReplace(tmpStr, '<a2>', '', [rfRelpaceAll, rfIgnoreCase]) ; 写代码多无聊. 用delphi写 阴历转阳历的函数 帮忙看下代码,tfilestream的问题 新人提问..一个工程用多个数据库的问题 ExtractFilePath运用出错 API函数:GerVersionEx怎么用? 有关ADO的简单问题,在线等! 谁用过以色列的一个编程工具magic呀! 各位高手,请问用Batchmove追加数据的问题? delphi和c++ builder都是一样的vcl,为什么delphi似乎要火些?我不知道学什么啊? 创建bpl子窗体时怎样把变量传递方法。 怎么处理Web形式登录QQ
String.Remove
String.Substring
就这个几个函数。
假设 D:\test.txt 内容如下 :
<a1>测试1<a2>
<a1>测试2<a2>
<a1>测试3<a2>
Type
type
TSelfArr : array of String;
function readFileToArray(): TSelfArr ;
var
sl : TStringList ;
i : Integer ;
tmpStr : String ;
begin
sl := TStringList.create();
sl.LoadFromFile('D:\test.txt') ;
for(i :=0 to sl.Count-1) do
begin
tmpStr := sl[i] ;
tmpStr := StringReplace(tmpStr, '<a1>', [rfRelpaceAll, rfIgnoreCase]) ;
tmpStr := StringReplace(tmpStr, '<a2>', [rfRelpaceAll, rfIgnoreCase]) ;
SetLength(Result, Length(Result)+1) ;
Result[Length(Result)-1] := tmpStr ;
end;end; 机器没有Delphi ,在Notepad++中写的,自己调试一下 ,希望能对你有帮组 ;
把这两句
tmpStr := StringReplace(tmpStr, '<a1>', [rfRelpaceAll, rfIgnoreCase]) ;
tmpStr := StringReplace(tmpStr, '<a2>', [rfRelpaceAll, rfIgnoreCase]) ;
换成:
tmpStr := StringReplace(tmpStr, '<a1>', '', [rfRelpaceAll, rfIgnoreCase]) ;
tmpStr := StringReplace(tmpStr, '<a2>', '', [rfRelpaceAll, rfIgnoreCase]) ;