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

Remove all whitespace from string AX 2012

PurchPackingSlipJournalCreate class -> initHeader 方法有一行;

vendPackingSlipJour.PackingSlipId = purchParmTable.Num;

但我想当我在 Num 区域复制并粘贴 'FDG 2020'(所有空格均为制表符)并单击确定时,将此值写入 'FDG2020' 在 vendPackingSlipJour [=28] 的 PackagingSlipId 字段中=].

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

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

版本 1

试试 strAlpha() 函数。

来自documentation

Copies only the alphanumeric characters from a string.


版本 2

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

来自documentation:

Builds a string by using only the characters from the first input string that the second input string specifies should be kept.

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


版本 3

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

下面的示例允许字母数字字符(a-zA-Z0-9)、下划线(_)和连字符(-)。 newText 的最终值为 ABC-12_3

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

版本 4

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

vendPackingSlipJour.PackingSlipId = strRem(purchParmTable.Num, '\t');