delphi字符串截取

劳动保险,劳动保险1,劳动保险2,劳动保险3,劳动保险4

通过stringlist字符串数组截取','生成

劳动保险

劳动保险1

劳动保险2

劳动保险3

劳动保险4

代码如下:

procedure TMainForm.UniComboBox1DropDown(Sender: TObject);
var
  strTemp,strReplace,str:string;
  iLength,I:integer;
begin
  for I := 0 to FileNames.Count-1 do
  begin
    FileNames[I] := 'false';
  end;


  strTemp := UniComboBox1.Text;
  strReplace := StringReplace (strTemp, ',', '', [rfReplaceAll]);

//得出','的个数  

iLength := strTemp.Length - strReplace.Length;    
  strReplace := strTemp;

  for I := 0 to iLength do
  begin
//截取字段为str,剩余字段为strReplace    

str := strReplace.Substring(0,AnsiPos(',',strReplace)-1);
strReplace := strReplace.SubString(AnsiPos(',',strReplace),strReplace.Length-AnsiPos(',',strReplace));

    if not str.Trim.IsEmpty then
    begin
      FileNames.Values[str] := 'true';
    end
    else
    begin
      FileNames.Values[strReplace] := 'true';
    end;

  end;
//保存最后一个字符串 

str := strTemp.SubString(0,strTemp.Length-strReplace.Length-1);

end;

C++ builder实现功能如下

  AnsiString strTemp = medt1->Text;
  AnsiString strReplace =  ReplaceStr(strTemp,"-","");
  AnsiString str=strTemp;

  int iLength = strTemp.Length()- strReplace.Length();
  for(int i=1;i<=iLength;i++)
  {
    str = str.SubString(str.Pos("-")+1,str.Length()-str.Pos("-"));
  }
  ShowMessage("str1:"+str);
  str = strTemp.SubString(1,strTemp.Length()-str.Length()-1);

猜你喜欢

转载自my.oschina.net/u/2343604/blog/1798643