以下内容均为可在:表达式输入,见下图:
1.去除字符串的空格:
!字段名称!.lstrip() //去除左侧的空格
!字段名称!.rstrip() //去除右侧的空格
!字段名称!.strip() //去除两侧的空格
2. 大小写转换
!字段名称!.upper() //将字符串中的字符转化为大写
!字段名称!.lower() //将字符串中的字符转化为小写
3. 获取字段长度
len( !字段名称! ) //获取字符串长度
4.查找指定字符串索引位置
!字段名称!.find(u 'ab' ) //如果查找的是汉字,需带u
5.字符串的首字母大写: !字段名称!.capitalize()
6.字符替换(用def替换abc): !字段名称!.replace("abc", "def")
7.字符串字段中的字符的获取:字符第一个索引号为0,最后一个为-1,例如 字段名称字段记录"abcde"
!字段名称![0] 获得第一个字符 "a"
!字段名称![-2] 获得倒数第二个字符 "d"
!字段名称![1:4] 获得第二、三和四个字符 "bcd"
例如:从QLR字段值提取村组名称
QLR字段值=“XX区YX街道南枝村南枝白组农民集体"
!QLR![!QLR!.find("街道") + 2 : -4] "南枝村南枝白组"
8.将合两个字段,合并后的 【字段名称A】 和 【字段名称B】 以冒号分隔开
"{}:{}".format(!字段名称A!, !字段名称B!)
9.使用空格分隔符连接两个字段
!字段名称A! + " " + !字段名称B!
10.计算空值
!字段名称A!=None
11.简单数学计算
运算符 说明 示例 结果
x + y x 加上 y 1.5 + 2.5 4.0
x - y x 减去 y 3.3 - 2.2 1.1
x * y x 乘以 y 2.0 * 2.2 4.4
x / y x 除以 y 4.0 / 1.25 3.2
x // y x 除以 y(向下取整除法) 4.0 // 1.25 3.0
x % y x 模 y 8 % 3 2
-x x 的负数表达式 5 -5
+x x 不变 5 5
x ** y 以 x 为底,y为指数的幂 2 ** 3 8
12.常用函数 max、min、round 和 sum
从字段列表中计算每个记录的最大值。max([!字段名称A!, !字段名称B!, !字段名称C!])
从字段列表中计算每个记录的总和。 sum([!字段名称A!, !字段名称B!, !字段名称C!])
将字段的值四舍五入为保留两位小数 round(!字段名称A!, 2)
x 的 y 次幂: math.pow(X,Y)
13.计算投影长度(以码为单位)。
!shape.length@yards!
14.计算投影面积(以英亩为单位)。
!shape.area@acres!
15.计算大地线长度(以码为单位)。
!shape.geodesicLength@yards!
16.计算椭球面积(以英亩为单位)。
!shape.geodesicArea@acres!
备注:面积单位说明
系统常量 | 说明 | 单位名称 |
109403 | 美国英亩 | Acres |
109463 | 当前设置,面积单位 | Ares |
109401 | 平方公顷 | Hectares |
109451 | 平方公分 | SquareCentimeters |
109450 | 平方分米 | SquareDecimeters |
109405 | 平方英尺 | SquareFeet |
109453 | 平方英寸 | SquareInches |
109414 | 平方公里 | SquareKilometers |
109404 | 平方米 | SquareMeters |
109439 | 平方英里 | SquareMiles |
109452 | 平方毫米 | SquareMillimeters |
109442 | 平方码 | SquareYards |