如何分解带屏蔽的字符串处理(10)

  • 主题发起人 主题发起人 青云
  • 开始时间 开始时间

青云

Unregistered / Unconfirmed
GUEST, unregistred user!
先看看这个代码:procedure TForm15.Button1Click(Sender: TObject);var s: String; sList: TStringList;begin s:='SELECT * FROM T1,SELECT * FROM T2,SELECT * FROM T3'; sList:=TStringList.Create; ExtractStrings([','], [], PChar(s), sList); Memo1.Text:=sList.Text; FreeAndNil(sList);end;这样我们就可以把通过逗号分割的3条语句取出来;输出结果是:SELECT * FROM T1SELECT * FROM T2SELECT * FROM T3但是,如果把上面的第一句话: s:='SELECT * FROM T1,SELECT * FROM T2,SELECT * FROM T3';修改成 s:='SELECT * FROM T1 WHERE T1.A1=''aa,bb'',SELECT * FROM T2,SELECT * FROM T3';那么得到的结果就是3条语句:SELECT * FR WHERE T1.A1='aa,bb'SELECT * FROM T2SELECT * FROM T3'我本来以为会得到4条语句,但是运行下来,'aa,bb'里的逗号并没有参与分割;看来 ExtractStrings 这句话还挺“智能”的;但是如果反过来,假如我偏要'aa,bb'里的逗号参与分割,该如何实现呢?
 
http://www.itpub.net/thread-1122145-1-1.html
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部