超级简单字符串拆分处理(50分)

  • 主题发起人 主题发起人 Restart1
  • 开始时间 开始时间
R

Restart1

Unregistered / Unconfirmed
GUEST, unregistred user!
一个字符串,例如“3423-32 哈哈哈”,数字和中文之间有个空格,怎样以空格为分割,
把它拆成2个字符串,“3423-32”和“哈哈哈”?
 
哎,你用一个循环来一个字符一个字符的取出来。同时和空格来比,只要为TRUE
就把当时的指针数字取下来,然后用COPY命令把字符串分开不就得了。

哎,字符串的问题很多,其实就是那几个函数和自己的思路。

www.longteng.org 你到论坛里面有一个DELPHI编程的版,是第二个的,我写了五个
关于字符串编程函数的源程序。希望对你有帮助。
 
s1:=copy(s, 1, Pos(' ', s));
s2:=copy(s, Pos(' ', s)+1, Length(s)-1)
 
function CheckSite(const Str, Ch: string
var Mystring: TStrings): boolean;
{字符串Str以Ch分隔成几段小字符串,该函数是将这些小字符串提取出来并保存在MyString中
Str:字符串
Ch:分隔符
Mystring:保存分隔后的字符串
返回:分隔后的字符串数大于1则返回True,否则为False}
var
sit, n: integer;
S: string;
begin
Result := True;
MyString.Clear;
S := Str;
n := Length(Ch);
while True do
begin
if Pos(Ch, S) = 0 then
begin
MyString.Add(S);
Break;
end;
sit := Pos(Ch, S);
MyString.Add(Copy(S, 1, sit - 1));
S := Trim(Copy(S, sit + n, Length(S)));
end;
if MyString.Count < 2 then Result := False;
end;
 
// Source 为源字符串,Ch 为分割符
function SplitString(const Source, Ch: string): TStringList;
var
Tmp: string;
i: integer;
begin
Result:= TStringList.Create;
Tmp:= Source;
i:= pos(ch, Source);
while i <> 0 do
begin
Result.Add(copy(Tmp, 0, i-1));
delete(Tmp, 1, i);
i:= pos(Ch, Tmp);
end;
Result.Add(Tmp);
end;
 
s1:=leftstr(s, Pos(' ', s)-1);
s2:=rightstr(s,length(s)-pos(' ',s))
 
procedure TForm1.Button1Click(Sender: TObject);
var
str:Tstrings;
begin
str:=Tstringlist.Create;
str.Delimiter:=' '
//定义分割字符
str.DelimitedText:='3423-32 哈哈哈';//要分割的string
edit1.Text:=trim(str.Strings[0]);
edit2.Text:=trim(str.Strings[1]);
end;
 
str:='3423-32 哈哈哈'
str1:=copy(str,1,pos(' ',str)-1);
str2:=copy(str,pos(' ',str)+1,length(str)-length(str1));
 
使5使甘多啊
 

Similar threads

回复
0
查看
1K
不得闲
D
回复
0
查看
909
DelphiTeacher的专栏
D
D
回复
0
查看
704
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部