函数原型:
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"&" , rf);
s = StringReplace(s, L"\"", L""" , rf);
s = StringReplace(s, L"<" , L"<" , rf);
s = StringReplace(s, L">" , L">" , rf);
s = StringReplace(s, L" ", L" ", rf);
s = StringReplace(s, L" ", L" ", 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;
}
|
|