Axapta 删除字符串AX 2012中的所有空白

Axapta 删除字符串AX 2012中的所有空白,axapta,x++,dynamics-ax-2012-r3,Axapta,X++,Dynamics Ax 2012 R3,PurchPackingSlipJournalCreate类->initHeader方法有一行 vendPackingSlipJour.PackingSlipId=purchParmTable.Num 但我想在Num区域复制并粘贴“FDG 2020”(所有空格均为制表符)并单击OK时,将该值作为“FDG2020”写入vendPackingSlipJour表的PackagesLipid字段 我尝试了->vendPackingSlipJour.PackingSlipId=strem(purchPar

PurchPackingSlipJournalCreate类->initHeader方法有一行

vendPackingSlipJour.PackingSlipId=purchParmTable.Num

但我想在Num区域复制并粘贴“FDG 2020”(所有空格均为制表符)并单击OK时,将该值作为“FDG2020”写入vendPackingSlipJour表的PackagesLipid字段

我尝试了->vendPackingSlipJour.PackingSlipId=strem(purchParmTable.Num,”); 但对制表符不起作用


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

版本1

尝试
strAlpha()
函数

从:

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


第2版

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

从:

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

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


第3版

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

下面的示例允许使用字母数字字符(
a-z
a-z
0-9
),下划线(
)和连字符(
-
)。
newText
的最终值为
ABC-12\u 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');

嗨,桑德尔,谢谢你的回答,但不幸的是,我们的num值有时有-(连字符)字符。还有其他方法吗?答案已更新,以显示如何处理剩余的不需要的字符。不,不,连字符不是不需要的字符。当我使用strAlpha()时,连字符被删除。Bu我只想删除空白字符,而不是其他非字母数字字符。我们更新了另外3个选项。你挑吧。