主页C++ Builder 资料C++ Builder 参考手册System 字符串StringReplace
C++ Builder 串口控件
C++ Builder 编程技巧
C++ Builder 操作指南
C++ Builder 参考手册
基础知识
cfloat 浮点数
cmath 数学函数
cstdlib 标准库函数
System 字符串
 • UnicodeString
 • UTF8String
 • TStringList
 • TStrings
 • String
 • AnsiString
 • AnsiStringBase
 • AnsiStringT
 • RawByteString
 • UCS4String
 • WideString
 • EnumToStr
 • FloatToStr
 • FloatToStrF
 • FormatFloat
 • IntToStr
 • UIntToStr
 • IntToHex
 • StrToEnum
 • StrToFloat
 • StrToFloatDef
 • StrToInt
 • StrToIntDef
 • StrToInt64
 • StrToInt64Def
 • StrToUInt64
 • StrToUInt64Def
 • TFloatFormat
 • GetUnicodeCategory
 • IMLangCodePages
 • StringReplace
System 日期和时间
System.Math.hpp 数学函数
其他数据类型
VCL 基础类
VCL 应用程序
Pictures 图片
Graphics 绘图
Additional 控件
System 控件
A ~ Z 字母顺序排列的目录
网友留言/技术支持
StringReplace - 把字符串里面的某个内容替换为另一个内容

函数原型:

UnicodeString __fastcall StringReplace(const UnicodeString Source, const UnicodeString OldPattern, const UnicodeString NewPattern, TReplaceFlags Flags);

头文件:

#include <System.SysUtils.hpp> (XE2 之后),#include <SysUtils.hpp> (XE 之前)

参数:

Source: 原字符串,
OldPattern: 要替换的内容,
NewPattern: 替换为这个内容,
Flags: 替换选项,TReplaceFlags 类型,可以为空的 TReplaceFlags 对象,可以包含以下表格内容:

替换选项 说明
rfReplaceAll 替换所有的。如果没有这个选项,只替换第一个找到的要替换的内容
rfIgnoreCase 忽略大小写。如果没有这个选项,是区分大小写的

 

返回值:

替换内容之后的字符串。

 

例1:把 Memo1 里面的文字改为 HTML 格式的,放在 Memo2 里面

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  UnicodeString s = Memo1->Text;
  TReplaceFlags rf = TReplaceFlags()<<rfReplaceAll;

  s = StringReplace(s, L"&" , L"&amp;"  , rf);
  s = StringReplace(s, L"\"", L"&quot;" , rf);
  s = StringReplace(s, L"<" , L"&lt;"   , rf);
  s = StringReplace(s, L">" , L"&gt;"   , rf);
  s = StringReplace(s, L"  ", L"&nbsp; ", rf);
  s = StringReplace(s, L"  ", L"&nbsp; ", rf);

  std::auto_ptr<TStringList>sl(new TStringList);
  sl->Text = s;

  for(int i=0; i<sl->Count; i++)
   {
     sl->Strings[i] = sl->Strings[i] + L"<br>";
   }
  Memo2->Text = sl->Text;
}

◤上一页:IMLangCodePages

C++ 爱好者 -- Victor Chen 的个人网站 www.cppfans.com 辽ICP备11016859号