首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

字符查寻找出字符中头尾标志的并取出来

2013-07-09 
字符查找找出字符中头尾标志的并取出来如字符‘@,1,2,3,4,5,6#@2,3,4,5,6#@3,4,5,6#如何取得字符‘@,1,2,3,4

字符查找找出字符中头尾标志的并取出来
如字符‘@,1,2,3,4,5,6#@2,3,4,5,6#@3,4,5,6#如何取得字符‘@,1,2,3,4,5,6#和@2,3,4,5,6#和@3,4,5,6#
[解决办法]


procedure TForm1.btn1Click(Sender: TObject);
const
  str = '@,1,2,3,4,5,6#@2,3,4,5,6#@3,4,5,6#';
var
  sLi: TStringList;
  s1, s2, s3: String;
begin
  sli := TStringList.Create;
  ExtractStrings(['@'], [], str, sLi);
  s1 := '@' + sLi[sLi.count - 3]; // @,1,2,3,4,5,6#
  s1 := '@' + sLi[sLi.count - 2]; // @2,3,4,5,6#
  s3 := '@' + sLi[sLi.count - 1]; // @3,4,5,6#
  sLi.Free
end;

[解决办法]
function GetStr(StrSource, StrBegin, StrEnd: string): string;
var
in_star,in_end : integer;
strtmp         : string;
begin
   in_star:=AnsiPos(strbegin,strsource)+length(strbegin);
   strtmp:=copy(strsource,in_star,length(strsource));
   in_end:=AnsiPos(strend,strtmp);
   result:=copy(strsource,in_star,in_star + in_end-in_star -1);
end;
getstr(str,'@','#');

[解决办法]
uses PerlRegEx;

  with TPerlRegEx.Create do
    try
      Subject := '@,1,2,3,4,5,6#@2,3,4,5,6#@3,4,5,6#';
      RegEx := '(@.*?#)';
      while MatchAgain do
        ShowMessage(Groups[1])
    finally
      Free
    end;

热点排行