从字符串 AX 2012 中删除所有空格

Mum*_*ble 2 x++ axapta dynamics-ax-2012-r3

PurchPackingSlipJournalCreate 类 -> initHeader 方法有一行;

vendPackingSlipJour.PackingSlipId = purchParmTable.Num;

但我希望当我在 Num 区域复制并粘贴“FDG 2020”(所有空白均为制表符)并单击确定时,将此值写入 vendPackingSlipJour 表的 PackagingSlipId 字段中为“FDG2020”。

我试过 -> vendPackingSlipJour.PackingSlipId = strRem(purchParmTable.Num, " "); 但不适用于制表符。

如何从字符串中删除所有空格字符?

San*_*der 5

版本 1

试试这个strAlpha()功能。

文档

仅复制字符串中的字母数字字符。


版本 2

由于版本 1 还删除了允许的连字符 ( -),因此您可以使用strKeep().

文档

仅使用第二个输入字符串指定应保留的第一个输入字符串中的字符来构建字符串。

这将要求您指定所有所需的字符,一个相当长的列表......


版本 3

使用正则表达式替换任何不需要的字符(定义为“不需要的字符”)。这类似于第 2 版,但允许的字符列表可以表达的更短。

下面的示例允许使用字母数字字符 ( a-z, A-Z, 0-9)、下划线 ( _) 和连字符 ( -)。对于最终的价值newTextABC-12_3

str badCharacters = @"[^a-zA-Z0-9_-]"; // so NOT an allowed character
str newText = System.Text.RegularExpressions.Regex::Replace('  ABC-12_3 ', badCharacters, '');
Run Code Online (Sandbox Code Playgroud)

版本 4

如果您知道唯一不需要的字符是制表符 ( '\t'),那么您也可以专门寻找那些字符。

vendPackingSlipJour.PackingSlipId = strRem(purchParmTable.Num, '\t');
Run Code Online (Sandbox Code Playgroud)