应该考虑到,如果字符串中还可能有其他的诸如'.','?'等等不需要的成分
所以,最好还是用字符集扫描的方法
把daiqingbo的回答稍微改了一下:
{注,trim为删除字符串两端的空格,因为该字符集内没有空格,所以就用不着trim了}
const
myset:set of '0'..'z' = ['0'..'9','A'..'Z','a'..'z'];
var
s: string;
temp: string;
i: integer;
begin
s := 'abc ;ddd; aslkd, aaa';
temp := '';
for i := 1 to length(s) do
if s in myset then
temp := temp + s
else
begin
if trim(temp) <> '' then
showmessage(temp); //把temp放到你想要的地方。
temp := '';
end;
if temp <> '' then
showmessage(temp); //把temp放到你想要的地方。
end;