删除字符串中的多个特殊字符

Delete multiple special characters in string

我是 Dynamics 365 Business Central 和 AL 的新手。我需要从字符串中删除特殊字符(电子邮件地址、phone 数字)。我尝试了 DELCHR(String,'=','['),但禁止使用的字符更多。我知道我可以添加不止一个,但我不知道我是否抓住了它们。谁能以更有效的方式帮助我?非常感谢您的帮助。

谢谢

你可以编写一个函数来保留 'good' 个字符,例如:

local procedure DeleteSpecialChars(var yourText: Text)
var
    AllowedChars: Text;
begin
    AllowedChars := 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-0123456789';
    exit(DelChr(yourText, '=', DELCHR(yourText, '=', AllowedChars)));
end;

我假设您是为 BC V14 或更高版本开发的。如果是这样,您可以使用代码单元 47 StringConversionManagement 方法 RemoveNonAlphaNumericCharactersRemoveDecimalFromString.

对于电子邮件地址,您应该使用代码单元 9520 邮件管理。它具有验证电子邮件地址的功能 (CheckValidEmailAddress)。