读书人

delphi 字符串删除的有关问题

发布时间: 2012-02-09 18:22:27 作者: rapoo

delphi 字符串删除的问题
有这样一个字符串 ‘aa’ AND 'bbb' AND 'ccc'; 我想删除最后 一个AND和它后面的字符串,怎么实现呢?


[解决办法]
记得引用这个:StrUtils

Delphi(Pascal) code
unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls,StrUtils;type  TForm1 = class(TForm)    Button1: TButton;    Button2: TButton;    procedure Button1Click(Sender: TObject);  private    { Private declarations }  public    function ReversePos(SubStr, S: String): Integer;  //求最后一个AND 出现的位置    { Public declarations }  end;var  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);var  i:Integer;  str:string;begin  str:= '''aa'' AND ''bbb'' AND ''ccc''';  i:=ReversePos('AND',str);  str:=Copy(str,1,i-1);  ShowMessage(str);end;function TForm1.ReversePos(SubStr, S: String): Integer;var  i : Integer;begin  i := Pos(ReverseString(SubStr), ReverseString(S));  if i > 0 then i := Length(S) - i - Length(SubStr) + 2;  Result := i;end;end.
[解决办法]
其实不用反转用循环while Pos('AND')>0 每次保存取到的值,直到跳出循环 然后用保存的位置字符串截取即可

读书人网 >.NET

热点推荐