比如MP3名字:周杰伦 - 菊花台.mp3我要根据提取出字符串中的歌手和歌曲名字
按这样的定义提取%(Artist) - %(Title)%(Artist)和%(Title)有时候要倒过来用,比如%(Title) - %(Artist)也就是说我设置一个Edit,根据里面的:%(Title) - %(Artist)排列的先后来分割歌曲名字,中间可能是其他符号新手,没有想通怎么搞。。智商不行啊!
按这样的定义提取%(Artist) - %(Title)%(Artist)和%(Title)有时候要倒过来用,比如%(Title) - %(Artist)也就是说我设置一个Edit,根据里面的:%(Title) - %(Artist)排列的先后来分割歌曲名字,中间可能是其他符号新手,没有想通怎么搞。。智商不行啊!
解决方案 »
- dbexpress为何不能动态调用带返回结果集的oracle存储过程
- 能否用SQL语句实现结果集合的拼接
- 如何实现dbgrid中符合某些条件的记录及行的数值不能进行修改
- dll窗体怎样获得可执行程序的图标?
- 用delphi如何从window地址薄:outlook中读取客户资料信息并保存在txt中??(斑竹出来帮帮忙吧)
- 非常菜的问题!Speedbutton上如何放上图标和文字,
- 有的就是分数,想问一个简单的问题!希望有熟悉的高手解决。分数不够可以追加!在线等待!!!
- 如何对一个字符串进行SQL语法分析
- 如何设置全局变量,可以同时在一个工程的两个单元中使用
- 我该不该跳?????
- 如何自动输入网页中的编辑框
- SQL中的insert语句,里面的分号怎么处理?
var
Temp: String;
I, K: Integer;
begin
Result := TStringList.Create;
if Source='' then Exit;
Temp := Source;
K := Length(Ch);
if K = 0 then Exit;
I := Pos(Ch, Source);
if I > 0 then
while I <> 0 do
begin
Result.Add(Copy(Temp, 1, I - 1));
Delete(Temp, 1, I + K - 1);
I := Pos(Ch, Temp);
end;
Result.Add(Temp);
end;
var
str:Tstrings;
s:string;
begin
str:=Tstringlist.create;
str.clear;
extractstrings(['-'],[],pchar(s),str);
str.strings[0]就是歌手
str.strings[1]就是歌曲名
end;
不是,我的意思是,
设置一个Edit,根据里面的:%(Title) - %(Artist)排列的先后来分割歌曲名字,中间的“ - ”可以改变成其他符号,当交换%(Title)和%(Artist)的前后位置后,分割自动改变
有时候这样用:%(Artist) - %(Title)
有时候可能这样:%(Artist)\%(Title)或者%(Title)-%(Artist)
var
t:TStringList;
begin
t:= TStringList.Create;
t.Delimiter:='-';
t.DelimitedText:='%(Artist) - %(Title)'; //具体内容
Edit1.Text:=copy(t.Strings[0],3,length(t.Strings[0])-3);
Edit2.Text:=copy(t.Strings[1],3,length(t.Strings[1])-3);
t.Free;
end;如果%(Artist)和%(Title)有时候要倒过来用,那就要看行中有无这样的判断信息了
还有的方法可用正则表达式,网上有控件的