大家都知道,在ASP中,用split函数可以把一个字符串分成数组,如:
dim stra,strb
stra="abce|cdef|er"
strb=split(stra)response.write(strb(0)) 'abce
response.write(strb(1)) 'cdef
response.write(strb(2)) 'er好了,现在我写了一个delphi组件,需要在delphi中实现这个功能,请问delphi中是否有相应的函数以实现类似的功能?谢谢帮助,我是新手,分不多,谁帮我解决我只能给20分。
dim stra,strb
stra="abce|cdef|er"
strb=split(stra)response.write(strb(0)) 'abce
response.write(strb(1)) 'cdef
response.write(strb(2)) 'er好了,现在我写了一个delphi组件,需要在delphi中实现这个功能,请问delphi中是否有相应的函数以实现类似的功能?谢谢帮助,我是新手,分不多,谁帮我解决我只能给20分。
解决方案 »
- 我在bpl中封装了数据模块,我该在主程序中如何调用,请大家帮忙。
- 我想生成'001','002',....'110'这样的字符串,可怎么样得到“'”这个字符?
- 如何高速 判断一张bmp图片是否是一张全白色的图片,bmp图片像素有640*480这么大。请给哈源代码。
- 画面继承的问题
- 如何判断一个字段的类型
- 如何取得当前日期是今年的第几天
- 模块的问题
- 如何把adotable1.recordcount的数值引用到setlength()中去?
- 安装Sql server 2000的问题
- 谁能帮我写段读其它进程中SysTreeView32窗体的内容,我把所有的分(2000多吧)全给他。
- 用什么方法往数据库中的Image 类型字段存入图片。
- 用quickreport打印时如何分页(每页15条记录)--在线等待分不够再加
可以自己写吧。pos。copy结合。
用这三个函数搭配可以分割字符串//去掉多余的分割符,规范字符串
Function RegulateStr(aString:String;Sepchar:String):String;
var
i,Num:Integer;
Flag:Boolean;
MyStr,TempStr:String;
begin
Flag:=False;//进行标志,去除多余的分割符
Num:=Length(aString);//计算aString串的长度
for i:=1 to Num do
begin
TempStr:=Copy(aString,i,1);//取aString串中的一字符
if TempStr <> SepChar then
begin
MyStr:=MyStr+TempStr;
Flag:=True;
end
else
if(Flag=True)then
begin
Mystr:=Mystr+TempStr;
Flag:=False;
end;
end;
if MyStr[Length(MyStr)] <> SepChar then
MyStr:=MyStr+SepChar;
RegulateStr:=MyStr;
end;//得到字符串中一个子串
Function GetSubStr(var aString:String;SepChar:String):String;
var
Mystr:String;
StrLen:Integer;
SepCharPos:Integer;
begin
StrLen:=Length(aString);
SepCharPos:=Pos(SepChar,aString);//计算分割符在子串中的位置
MyStr:=Copy(aString,1,SepCharPos-1); //将分割符前所有字符放到mystr串中
Delete(aString,1,SepCharPos);//除去分割符和分割符前的子串
GetSubStr:=MyStr;//返回一个字段
end;//计算一个字符串要被分割成几个字段
Function GetSubStrNum(aString:String;SepChar:String):Integer;
var
i:Integer;
StrLen:Integer;
Num:Integer;
begin
StrLen:=Length(aString);
Num:=0;
for i:=1 to StrLen do
if Copy(aString,i,1)=SepChar then
Num:=Num+1;
result:=Num;
end;
var
hs : string;
p : integer;begin
Terms.Clear; // 清除所有的terms
if Length(s)=0 then // 如没有任何分隔字符存在就退出
Exit;
p:=Pos(Separator,s);
while P<>0 do
begin
hs:=Copy(s,1,p-1); // 复制 term
Terms.Add(hs); // 加入 term
Delete(s,1,p); // 清除分隔符
p:=Pos(Separator,s); // 寻找下一个分隔符
end;
if Length(s)>0 then
Terms.Add(s); // 结尾剩余字符加入 term
end;
//使用办法var
Terms : TStringList;begin
Terms:=TStringList.Create;
str1='TEST|44.5|4'
SeparateTerms(str1,'|',Terms);
Terms.Free;
end;