如何让程序,自己去寻找、区分TXT文件中中文的单引号“‘ ”,与西文的单引号“'”。并将“‘”或“ ’”,改为“'”。

解决方案 »

  1.   

    试试delphi提供的stringreplace函数
    分别添入中文和英文的  '
      

  2.   

    可以用pos循环
    找到替换 
      

  3.   

    var
       Counter : Integer;
       i,Position : Integer;
       s : String;
       List : TStringList;
    begin
         List := TStringList.Create;
         List.LoadFromFile( Path );
         for Counter := 0 to List.Count - 1 do
         begin
              s := List[ Counter ];
              i := pos( '’', s );{中文单引号}
              if i <> 0 then
              begin
                Delete( s, i, i ); 
                insert( “'”, s, i ); {西文的单引号}
              end;     end;     List.SaveToFile( Path );
         List.free;end;
      

  4.   

    //请你参考
    http://kingron.myetang.com/zsfunc02.htm
      

  5.   

    我要用adodataset1.CommandText查一个表的字段内容有没有'’',使用:select * from message where TXT like '%’%'。可是编译老是说%有问题,我该怎样写这句话
      

  6.   

    [Error] mains.pas(290): Illegal character in input file: '%' ($25)
      

  7.   

    [Error] mains.pas(290): Illegal character in input file: '%' ($25)
      

  8.   

    var
      FileList:TStringList;
      FileStr:AnsiString;
    begin
      FileList:=TStringList.Create;
      try
        FileList.LoadFromFile(YourTxtFile);
        FileStr:=FileList.Text;
        FileStr:=StringReplace(FileStr,'‘' ,'’',[rfReplaceAll]);
        FileList.Text:=FileStr;
        FileList.SaveToFile(YourTxtFile);
      finally
        FileList.Free;
        FileStr:='';//这个也是释放空间^_*
      end;
    end;
      

  9.   

    function Pos(Substr: string; S: string): Integer;
      

  10.   

    blazingfire(烈焰) ( )
    你的我看不懂。
    哪个地方替换了?
    FileStr:=StringReplace(FileStr,'‘' ,'’',[rfReplaceAll]);
    这里吗?
      

  11.   

    blazingfire(烈焰) ( )
    你的程序里stringReplace的参数有问题吧?
      

  12.   

    如果你用的是Query的话,在SQL.Add('');里要注意'''的转化。如果要把单引号传到SQL语句里必须加上一个单引号