当前位置:首页>python>ArcGIS字段计算器|最全Python2.7字符串方法速查表

ArcGIS字段计算器|最全Python2.7字符串方法速查表

  • 2026-09-21 09:22:49
ArcGIS字段计算器|最全Python2.7字符串方法速查表

ArcGIS字段计算器|Python2.7字符串方法速查表(直接复制可用)

Hello~ 做ArcGIS数据处理的小伙伴,是不是经常在字段计算器里卡壳?尤其是Python2.7的字符串方法,记不住用法、分不清参数,每次都要翻半天资料?

今天整理了「ArcGIS字段计算器专属」Python2.7字符串方法速查表,每个方法都含功能说明+直接复制的代码+实例,适配ArcGIS10.x版本,避开空值报错、中文乱码坑,新手也能直接上手!

📌 前置必看(避坑关键)

  1. 字段计算器顶部「解析器」务必选择「Python」;
  2. 引用字段必须用 !字段名! 包裹(英文感叹号);
  3. 中文字符串前加 u(如 u"公园"),避免Python2.7中文乱码;
  4. 所有代码均适配字段计算器,复制后替换「!字段!」为你的实际字段名即可使用。

一、查找与定位类(核心常用)

用于查找字符串中特定子串的位置,适配地址提取、路径解析等场景。

1. find()

功能说明:查找子串第一次出现的起始索引,找不到返回 -1(不报错,比index()更安全)

字段=代码:

!字段!.find(u"子串") if !字段! is not None else -1

实例:输入 u"北京公园路" → 输出 2(索引从0开始,“公”在第3位,对应索引2)

2. rfind()

功能说明:查找子串最后一次出现的起始索引,找不到返回 -1

字段=代码:

!字段!.rfind(u"子串") if !字段! is not None else -1

实例:输入 u"C:\\data\\file.shp" → 输出 7(最后一个“\”的索引)

3. index()

功能说明:同find(),但找不到会报错(慎用,不推荐空值/不确定子串存在时使用)

字段=代码:

!字段!.index(u"子串")

实例:输入 u"北京公园路" → 输出 2

4. rindex()

功能说明:同rfind(),但找不到会报错(慎用)

字段=代码:

!字段!.rindex(u"子串")

实例:输入 u"C:\\data\\file.shp" → 输出 7

二、判断类(返回True/False)

用于判断字符串的格式(纯数字、纯字母等),适配数据筛选、合法性验证场景。

5. isalnum()

功能说明:判断字符串是否只包含字母或数字(空字符串返回False)

字段=代码:

!字段!.isalnum() if !字段! is not None else False

实例:输入 u"A123" → 输出True;输入 u"A 123" → 输出 False

6. isalpha()

功能说明:判断字符串是否只包含字母

字段=代码:

!字段!.isalpha() if !字段! is not None else False

实例:输入 u"Hello" → 输出 True;输入 u"Hello123" → 输出 False

7. isdigit()

功能说明:判断字符串是否只包含数字(仅适配整数,小数返回False)

字段=代码:

!字段!.isdigit() if !字段! is not None else False

实例:输入u"123" → 输出 True;输入 u"123号" → 输出 False

8. islower()

功能说明:判断字符串是否全为小写字母

字段=代码:

!字段!.islower() if !字段! is not None else False

实例:输入 u"hello" → 输出 True;输入 u"Hello" → 输出 False

9. isspace()

功能说明:判断字符串是否只包含空白字符(空格、制表符、换行符等)

字段=代码:

!字段!.isspace() if !字段! is not None else False

实例:输入u"" → 输出 True;输入 u"空格+文字" → 输出 False

10. istitle()

功能说明:判断字符串是否为标题格式(每个单词首字母大写,其余小写)

字段=代码:

!字段!.istitle() if !字段! is not None else False

实例:输入 u"Hello World" → 输出 True;输入 u"hello World" → 输出 False

11. isupper()

功能说明:判断字符串是否全为大写字母

字段=代码:

!字段!.isupper() if !字段! is not None else False

实例:输入 u"HELLO" → 输出 True;输入 u"HELLO123" → 输出 False

三、大小写转换类

用于规范英文文本格式,适配英文字段统一、标注规范化等场景。

12. lower()

功能说明:将字符串转换为全小写

字段=代码:

!字段!.lower() if !字段! is not None else u""

实例:输入 u"HELLO" → 输出 u"hello"

13. upper()

功能说明:将字符串转换为全大写

字段=代码:

!字段!.upper() if !字段! is not None else u""

实例:输入 u"hello" → 输出 u"HELLO"

14. swapcase()

功能说明:将字符串中的大小写互换(大写变小写,小写变大写)

字段=代码:

!字段!.swapcase() if !字段! is not None else u""

实例:输入 u"Hello" → 输出 u"hELLO"

15. title()

功能说明:将字符串转换为标题格式(每个单词首字母大写)

字段=代码:

!字段!.title() if !字段! is not None else u""

实例:输入 u"hello world" → 输出 u"Hello World"

四、去除空白类(核心常用)

用于清洗字段中的多余空白,适配名称、地址等字段的标准化处理。

16. strip()

功能说明:去除字符串左右两侧的空白字符(可指定字符,如strip("*")去除两侧*)

字段=代码:

!字段!.strip() if !字段! is not None else u""

实例:输入 u"公园" → 输出 u"公园"

17. lstrip()

功能说明:去除字符串左侧的空白字符(或指定字符)

字段=代码:

!字段!.lstrip() if !字段! is not None else u""

实例:输入 u"公园" → 输出 u"公园"

18. rstrip()

功能说明:去除字符串右侧的空白字符(或指定字符)

字段=代码:

!字段!.rstrip() if !字段! is not None else u""

实例:输入 u"公园" → 输出 u"公园"

五、填充与对齐类

用于统一字段长度、规范编号格式,适配编号标准化、标注对齐等场景。

19. ljust()

功能说明:将字符串左对齐,右侧用指定字符填充至目标长度(默认填充空格)

字段=代码:

!字段!.ljust(5, "0") if !字段! is not None else u""

(5是目标长度,"0"是填充字符)

实例:输入 u"A1" → 输出 u"A1000"

20. rjust()

功能说明:将字符串右对齐,左侧用指定字符填充至目标长度

字段=代码:

!字段!.rjust(5, "0") if !字段! is not None else u""

实例:输入 u"A1" → 输出 u"000A1"

21. zfill()

功能说明:将字符串左侧补0至指定长度(专门用于数字字符串,保留负号)

字段=代码:

!字段!.zfill(5) if !字段! is not None else u""

实例:输入 u"123" → 输出 u"00123";输入 u"-123" → 输出 u"-0123"

六、分割与连接类(核心常用)

用于拆分字符串、拼接多个字段,适配地址提取、文件名解析、多字段合并等场景。

22. split()

功能说明:按指定分隔符从左往右分割字符串,返回列表,取指定索引即可提取对应部分

字段=代码:

!字段!.split(u"分隔符")[0] if !字段! is not None else u""([0]

取第一部分,[1]取第二部分)

实例:输入 u"吉林省四平市" → 输出 u"吉林省"(按“省”分割,取[0])

23. rsplit()

功能说明:按指定分隔符从右往左分割字符串,可指定分割次数(避免中间分隔符干扰)

字段=代码:

!字段!.rsplit(u".", 1)[1] if !字段! is not None else u""

(1是分割次数,[1]取最后一部分)

实例:输入 u"map.shp" → 输出 u"shp"(提取文件扩展名)

24. splitlines()

功能说明:按换行符分割字符串,返回列表,取索引即可提取指定行

字段=代码:

!字段!.splitlines()[0] if !字段! is not None else u""([0]

取第一行)

实例:输入 u"第一行\n第二行" → 输出 u"第一行"

25. partition()

功能说明:按指定分隔符将字符串分成3部分(分隔符前、分隔符、分隔符后),取[2]提取分隔符后内容

字段=代码:

!字段!.partition(u":")[2] if !字段! is not None else u""

实例:输入 u"名称:公园" → 输出u"公园"

26. rpartition()

功能说明:从右往左按指定分隔符将字符串分成3部分,取[2]提取最后一个分隔符后内容

字段=代码:

!字段!.rpartition("\\\\")[2] if !字段! is not None else u""

(路径反斜杠需转义为\\\\)

实例:输入 u"C:\\data\\file.shp" → 输出 u"file.shp"(提取文件名)

27. join()

功能说明:用指定字符连接多个字段或列表,适配多字段合并场景

字段=代码:

u"-".join([!省!, !市!]) if !省! is not None and !市! is not 

None else u""(“-”是连接字符)

实例:!省!=u"吉林"、!市!=u"四平" → 输出 u"吉林-四平"

七、替换与翻译类

用于批量修改字符串内容,适配文本标准化、冗余内容清理等场景。

28. replace()

功能说明:将字符串中的旧文本替换为新文本,可指定替换次数(默认全部替换)

字段=代码:

!字段!.replace(u"旧", u"新") if !字段! is not None else 

u""(需替换指定次数加第三个参数,如replace(u"旧", u"新", 2))

实例:输入 u"光明街道" → 输出 u"光明路"(将“街道”替换为“路”)

29. expandtabs()

功能说明:将字符串中的制表符 \t 替换为空格,默认替换为8个空格,可指定空格数

字段=代码:

!字段!.expandtabs(4) if !字段! is not None else u""

(4是替换后的空格数)

实例:输入 u"Hello\tWorld" → 输出 u"HelloWorld"

八、格式化与长度类

用于字段拼接、长度统计、数据类型转换,适配编号生成、字段长度验证等场景。

30. format()

功能说明:格式化拼接多个字段,用{}占位,比直接用+拼接更灵活、不易出错

字段=代码:

u"{}-{}".format(!省!, !市!) if !省! is not None and !市! is not None else u""

实例:!省!=u"吉林"、!市!=u"四平" → 输出u"吉林-四平"

31. len()

功能说明:返回字符串的长度(字符个数),适配字段长度验证场景

字段=代码:

len(!字段!) if !字段! is not None else 0

实例:输入 u"吉林省四平市" → 输出 6(共6个字符)

32. str()

功能说明:将对象(如数字、日期)转换为字符串,适配数字字段与文本字段拼接场景

字段=代码:

u"ID_" + str(!OBJECTID!) if !OBJECTID! is not None else u""

(!OBJECTID!是数字字段)

实例:!OBJECTID!=1 → 输出 u"ID_1"

最后,收藏这篇速查表,下次在字段计算器里卡壳时,直接打开复制,省去翻资料的时间!

最新文章

随机文章