Удалить несколько специальных символов в строке
Я новичок в Dynamics 365 Business Central и AL. Мне нужно удалить специальные символы из строки (адрес электронной почты, номера телефонов). Я попыталсяDELCHR(String,'=','[')
, но есть и другие запрещенные символы. Я знаю, что могу добавить больше одного, но не знаю, поймал ли я их всех. Может ли кто-нибудь помочь мне более эффективным способом? Помощь очень ценится.
Благодарность
1 ответ
Вы можете написать функцию, которая сохраняет "хорошие" символы, например:
local procedure DeleteSpecialChars(var yourText: Text)
var
AllowedChars: Text;
begin
AllowedChars := 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-0123456789';
exit(DelChr(yourText, '=', DELCHR(yourText, '=', AllowedChars)));
end;
Я предполагаю, что вы разрабатываете BC V14 или новее. В таком случае можно использовать методы StringConversionManagement codeunit 47 RemoveNonAlphaNumericCharacters или RemoveDecimalFromString.
Для адресов электронной почты вы должны использовать codeunit 9520 Mail Management. Он содержит функцию, которая проверяет адреса электронной почты (CheckValidEmailAddress).