C++ Builder 参考手册 ➙ System::Sysutils ➙ StringReplace
把字符串当中的子字符串替换为另一个字符串
头文件:#include <System.SysUtils.hpp>
命名空间:System::Sysutils
函数原型:
System::UnicodeString __fastcall StringReplace(
const System::UnicodeString Source,
const System::UnicodeString OldPattern,
const System::UnicodeString NewPattern,
TReplaceFlags Flags);
参数:
- Source:从这个字符串里面进行查找和替换;
- OldPattern:如果找到这个字符;
- NewPattern:替换为这个字符串;
- Flags:集合类型,可以包含以下一个或多个选项:
rfReplaceAll:如果包含这个选项,替换所有找到的 OldPattern;
rfIgnoreCase:如果包含这个选项,忽略大小写;
返回值:
- 把 Source 字符串里面的 OldPattern 替换为 NewPattern,函数返回替换之后的字符串;
- 参数 Source 不会被修改,修改之后的字符串需要通过函数返回值获取;
- 如果 Flags 里面包含 rfReplaceAll 替换所有找到的字符串,否则只替换第一个;
- 如果 Flags 里面包含 rfIgnoreCase 忽略大小写,使用 UNICODE 规则,不限于英语;
- 这个函数只扫描一次原字符串 Source,如果替换之后的字符串里面又可以找到 OldPattern 也不处理了,
例如:把 "abcdcdef" 里面的 "bcd" 替换为 "cab",原字符串里面只能找到 1 个 "bcd",替换之后为 "acabcdef"
在替换之后的 "acabcdef" 里面又能找到 "bcd" 也不处理了; - 更复杂的替换可以使用 System::Regularexpressions::TRegEx::Replace。
例子:把 AbcdCdef 里面所有的 Bcd 全部替换为 Cab,忽略大小写
void __fastcall TForm1::Button1Click(TObject *Sender)
{
UnicodeString s = StringReplace(L"AbcdCdef", L"Bcd", L"Cab", TReplaceFlags()<<rfReplaceAll<<rfIgnoreCase);
Memo1->Lines->Add(s);
}
运行结果:ACabCdef
相关:
-
System::Sysutils::StringReplace
System::Sysutils::ReplaceDate
System::Sysutils::ReplaceTime - System::Sysutils::WrapText
- System::Sysutils::AnsiPos
- System::Sysutils::AnsiStrPos
- System::Sysutils::AnsiStrScan
- System::Sysutils::AnsiStrRScan
- System::Sysutils::BytesOf
- System::Sysutils::WideBytesOf
- System::Sysutils::PlatformBytesOf
- System::Sysutils::StringOf
- System::Sysutils::WideStringOf
- System::Sysutils::PlatformStringOf
- System::Sysutils::ByteLength
- System::Sysutils::CharLength
- System::Sysutils::StrCharLength
- System::Sysutils::AnsiLastChar
- System::Sysutils::AnsiStrLastChar
- System::Sysutils::CharToElementIndex
- System::Sysutils::CharToElementLen
- System::Sysutils::ElementToCharIndex
- System::Sysutils::ElementToCharLen
- System::Sysutils::TEncoding
- System::Sysutils
- System::Strutils::AnsiReplaceStr
- System::Strutils::AnsiReplaceText
- System::Strutils::ReplaceStr
- System::Strutils::ReplaceText
- System::Strutils
- System::Regularexpressions::TRegEx::Match
- System::Regularexpressions::TRegEx::Replace
- System::Regularexpressions
C++ Builder 参考手册 ➙ System::Sysutils ➙ StringReplace