gpt4 book ai didi

delphi - 如何通过使用delphi替换给定字符串中带空格或不带空格的特殊字符

转载 作者:行者123 更新时间:2023-12-03 18:57:16 28 4
gpt4 key购买 nike

如何使用Delphi将给定字符串中的特殊字符替换为空格,或者仅将其删除?下面的代码在C#中有效,但我不知道如何在Delphi中编写它。

public string RemoveSpecialChars(string str)
{
string[] chars = new string[] { ",", ".", "/", "!", "@", "#", "$", "%", "^", "&", "*", "'", "\"", ";","_","(", ")", ":", "|", "[", "]" };

for (int i = 0; i< chars.Lenght; i++)
{
if (str.Contains(chars[i]))
{
str = str.Replace(chars[i],"");
}
}
return str;
}

最佳答案

我会这样写函数:

function RemoveSpecialChars(const str: string): string;
const
InvalidChars : set of char =
[',','.','/','!','@','#','$','%','^','&','*','''','"',';','_','(',')',':','|','[',']'];
var
i, Count: Integer;
begin
SetLength(Result, Length(str));
Count := 0;
for i := 1 to Length(str) do
if not (str[i] in InvalidChars) then
begin
inc(Count);
Result[Count] := str[i];
end;
SetLength(Result, Count);
end;


当您看到该功能时,该功能将非常明显。我宁愿尝试避免执行大量堆分配,这就是为什么代码预分配缓冲区,然后在循环结束时最终确定其大小的原因。

关于delphi - 如何通过使用delphi替换给定字符串中带空格或不带空格的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21979184/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com