如何最好地编写 "Trim" 表达式

How to best write a "Trim" expression

我想要做的是 trim 一个 FQDN,精确到资产的名称。

例如,假设我有一台名为 "Desktop1.mycompany.com" 的机器,我只想在另一个字段中获得值 "Desktop1"

我已经执行了 trim 命令 Trim(Left([ColumnwithFQDN],(InsStr(1,[ColumnwithFQDN],".")-1))) 并且它有效。它会删除除机器名称以外的所有内容。

但是,我注意到此列表中有一些没有 F​​QDN 的计算机名称,它们只是显示为 "Desktop2"。显然,这会导致 #Func! error.

我的问题是:如果函数失败,是否有任何方法可以跳过 FQDN 中不存在的任何内容,或者只是 return 原始值?

我想我可以执行 IIf(IsNull) 命令,但我不确定要将什么设置为 return.

的值

Trim 函数从字符串中删除前导和尾随空格,主机名和 FQDN 都不能包含此类,因此此处不需要该函数。当然,如果您愿意,您可以在最后应用它。有趣的部分是本例中的 Left 函数。我建议使用以下表达式:

Left([ColumnwithFQDN], Len([ColumnwithFQDN]) - InStrRev(StrReverse([ColumnwithFQDN]), "."))

与@HansUp 的解决方案相同,您必须确保 [ColumnwithFQDN] 不是 Null。