您使用StringReplace這個funciotn試試看。
type
TReplaceFlags = set of (rfReplaceAll, rfIgnoreCase);
function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
rfReplaceAll:全部置換
rfIgnoreCase:勿略大小寫
For Example:
var
aStr: String;
begin
aStr := 'This is a book, not a pen!';
ShowMessage(StringReplace(aStr, 'a', 'two', []));//變為This is two book, not a pen!只替換了第一個符合的字
ShowMessage(StringReplace(aStr, 'a', 'two', [rfReplaceAll]));//變為This is two book, not two pen!替換了所有符合的字
aStr := 'This is a book, not A pen!';
ShowMessage(StringReplace(aStr, 'a', 'two', [rfReplaceAll]));//變為This is two book, not A pen!只替換了符合的字(小寫a)
ShowMessage(StringReplace(aStr, 'a', 'two', [rfReplaceAll, rfIgnoreCase]));//變為This is two book, not two pen!不管大小寫替換了所有符合的字
end;
分享到:
相关推荐
delphi 自带 StringReplace 慢, 替换 StringReplace ,高效率,秒杀 原版
总之,当Delphi内置的`StringReplace`函数无法满足性能需求时,开发者会寻求自定义解决方案,如`Q_Replace`函数,这些函数通常采用更复杂的算法和技术来提高字符串替换的效率。在实际开发中,理解和运用这些高效算法...
StrPosDefs、StrPos32 和 StrPos64 这三个单元提供的函数是对 Delphi 中系统内置的 `system.pos` 和 `sysUtils.StringReplace` 的性能优化扩展。这些优化主要针对字符串搜索和替换操作,特别是在区分大小写和不区分...
`replacedStr := StringReplace(str, 'old', 'new', [rfReplaceAll]);`全局替换所有'old'为'new'。 14. **StartsText和EndsText函数**:检查字符串是否以指定的子串开头或结尾。`if StartsText('Hello', str) then ...
Base64String := StringReplace(Base64String, '', #13#10 + '', [rfReplaceAll]); ``` 另一个需要注意的是,不同的Base64实现可能会对末尾的填充字符有不同的处理。标准的Base64编码会在数据不足一整组(即3个字节...
- 此外,考虑到性能问题,如果待处理的字符串非常大,可以考虑使用更高效的字符串操作函数,如`StringReplace`等。 #### 总结 通过上述示例可以看出,在Delphi中使用字符替换是一种有效解决字符串中特殊字符冲突...
jsonSrc := StringReplace(jsonSrc, '[', '', [rfReplaceAll, rfIgnoreCase]); jsonSrc := StringReplace(jsonSrc, ']', '', [rfReplaceAll, rfIgnoreCase]); jsonSrc := StringReplace(jsonSrc, '"', '', ...
SExp := StringReplace(Trim(SExpression), #32, '', [rfReplaceAll]); Len := Length(SExp); Result := 0; P := 1; SVar := ''; PX := ''; LCount := 0; ``` 这里,`SExp` 是去除空格后的表达式;`Len` 是表达式的...
2. 字符串处理函数,如`fn_LowerCase`、`fn_UpperCase`、`fn_Pos`、`fn_Copy`、`fn_QuotedStr`、`fn_RecToJson`、`fn_StringReplace`、`fn_StrToInt`、`fn_JsonToRec`等,这些函数支持字符串的大小写转换、子串查找...
`Replace`方法用于替换特定字符串。 6. **排序与比较** 当`Sorted`属性为True时,`Sort`方法会自动对列表进行排序。可以设置`Compare`属性来定义自定义的比较函数。 **构造简单数据库** 在Delphi中,TStringList...
`StrRplc` 函数则可能是对 Delphi 的 `Replace` 或 `StringReplace` 函数的扩展或替代,这些函数用于在字符串中替换特定的子串。`StrRplc` 可能提供了更多的选项,比如限制替换的次数,或者在替换时保留原字符串的...
name = Encoding.Unicode.GetString(data, 4, 20).Replace("\0", ""); // 去掉尾部的0字符 married = BitConverter.ToBoolean(data, 24); salary = BitConverter.ToDouble(data, 25); } else { id = 0; name...
unit GetInternetTime; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ... datetxt := StringReplace(datetxt, 'GMT', '', []); datetxt := Trim(datetxt);
Result := StringReplace(Result, #0, '', [rfReplaceAll]); end; end; CloseHandle(Handle); end; end; ``` 上述代码展示了如何使用Delphi调用Windows API获取硬盘ID的基本流程。 3. 安全性和隐私问题: ...
同样是Delphi的项目文件,可能包含与`Demo_StringM.dpr`不同的字符串处理示例。这可能是为了展示不同的字符串操作技巧或更复杂的算法,比如字符串排序、格式化、编码转换等。通过对比这两个文件,开发者可以深入...
8. **Replace**: 使用指定的替换字符串替换匹配到的子串。 9. **ReplaceProc**: 允许自定义替换函数,根据匹配结果进行复杂替换。 在 Delphi 中,你可以利用 PerlRegEx 实现诸如验证电子邮件地址格式、提取网页中...
这个类提供了许多方法,如Match、Matches、Replace、Split和ReplaceAll,分别用于执行单次匹配、多次匹配、替换、拆分字符串以及全局替换。 例如,一个简单的正则表达式匹配任务可能是检查邮箱地址的格式。在Delphi...
VersionStr := Trim(StringReplace(Response, #13#10, '', [rfReplaceAll])); if CompareVersion(VersionStr, Application.Version) > 0 then Result := True; // 新版本可用 finally HTTP.Free; end; end; ...
在字符串处理上,DELPHI使用PChar和WideChar类型,而C#使用string类型,C#的字符串是不可变的,而DELPHI的可以。C#提供了丰富的字符串处理方法,如`Substring`、`Replace`等,而DELPHI则需要通过索引和指针操作来...