ArcPro 2.8中如何用Python3/Arcade移除字符串指定字符及后续内容?
ArcPro字段计算:移除括号及后续内容的单行解法
直接用下面的单行代码就能实现需求,还能兼容字段中没有括号的情况,避免报错:
!NAME!.split("(")[0].strip() if "(" in !NAME! else !NAME!.strip()
代码说明:
!NAME!.split("(")[0]:把字段内容按“(”分割,取分割后的第一部分(也就是括号前的内容).strip():去掉内容首尾的多余空格,避免结果出现类似“Melbourne depot ”的末尾空格if "(" in !NAME! else !NAME!.strip():如果字段里没有“(”,就直接返回原内容并去掉首尾空格,防止报错
你之前代码的问题:
!NAME!.split("(")[0]:思路正确,但没处理无括号的情况,也没清理末尾空格,遇到空字段还会报错,上面的代码补了这些漏洞!NAME!.strip("(")[0]:strip()是去除字符串首尾的指定字符,不是分割逻辑,这行只会取字段内容的第一个字符,完全不符合需求- 后面的多段函数代码:ArcPro的Calculate Field单行模式不支持自定义函数(要用到代码块模式才行),但你要单行解法,所以这些写法不适用
内容的提问来源于stack exchange,提问作者Veekerz
相关产品推荐
相关产品推荐

