首页软件基础教程ArcGIS【ArcGIS小操作】11...

【ArcGIS小操作】113.字段计算器——文本字符串处理


系列配套练习数据下载链接:

链接:https://pan.baidu.com/s/1y3t92SLVNToxWCPSMnpblA?pwd=mnsj 提取码:mnsj
链接会经常失效,如有需要请尽快下载,如若失效,我也会在最新发布文章中更新下载链接。




ArcGIS的字段计算器是一个非常强大的工具,它允许用户对属性表中的字段进行各种计算和转换操作,包括对文本字符串的处理。
以下是一些在ArcGIS中使用字段计算器对文本字符串进行操作的常见操作和示例。本次解析程序使用Python,关于字符串操作语法可以参看之前发布的文章:
【Python基础】6.字符串类型及其操作
如若想较为系统的学习Python的话可以参看之前发布的系列文章:
《Python基础》系列文章汇总及代码分享
  • 加载数据:

加载【行政区划】面要素,打开属性表

  • 1、字符串拼接:
将两个或多个字段的值拼接成一个新的字符串,使用加号【+】连接需要拼接的字段以及连接字符即可:
!字符串01! + "连接符号" + !字符串02!

本次将【city】字段和【PAC】字段进行拼接,因为【PAC】字段类型为长整型,因此需要先使用str()函数将其转换为字符串类型在进行拼接操作。

  • 2、字符串切片:
从文本字段中提取特定位置的字符或子字符串。
字符串是字符的序列表示,因此具有序号体系,包括正向递增序号和反向递减序号。因此,可以通过序号对字符串进行索引和切片操作:
# 获取第三个字符
name[2]

# 获取倒数第二个字符
name[-2]

# 获取第3到第8个字符
name[2:8]
本次提取【city】字段中最后一位之前的字符。

  • 3、更改文本字段值的大小写:

统一文本字段中的所有字符的大写或小写,常用的函数方法如下:
方法
描述
str.lower()
全部字符小写
str.upper() 全部字符大写
str.capitalize() 首字符大写,其余字符小写
本次将【name】字段的字符修改为全部大写的形式。

  • 4、根据关键字提取文字:
获取关键字所处的索引位置。
方法
描述
str.find(sub,start,end) 用于检测字符串中是否包含参数字符串。若包含,则返回字符串中第一次出现参数字符串的位置,否则返回-1。也可以指定起始末尾偏移量来指定字符串的范围。
str.rfind(sub,start,end) 与find()类似。不过返回参数字符串在字符串中最后一次出现的位置。
本次提取【R1】字段中字符【市】前的字符。
先通过find()函数或者指定字符的索引位置,再通过切片操作获取子字符串。
需要注意的是,如果需要查找的字符是中文,因为编码问题需要在前面加u,这是因为ArcGIS中为python 2版本的缘故。如果是ArcgisPro则不需要。

  • 5、字符串替换:
在文本字段中查找特定的字符串并将其替换为另一个字符串。
方法
描述
str.replace(old,new)

所有old字串被替换为new

本次【zone字段中【片区两字替换为【地区

  • 6、正则表达式:
遇到较为复杂的匹配情况,可以使用正则表达式对文本字段进行模式匹配、提取或替换。
本次将使用正则表达式提取【R1】字段中的全部数字。
re.findall()函数返回string中所有与pattern(r”d.*”用于匹配数字)匹配的全部字符串,返回形式为数组。

————————————————-

《ArcGIS小操作》系列内容目录(持续更新):

……

101.制作带有羽化效果的地图
102.绘制“水立方”效果
103.制作带有植物图标的绿地
104.标注方式——上下标
105.标注方式——多字段标注+多行标注
106.标注方式——带牵引线的分式表达标注
107.标注方式——按条件分类标注
108.标注方式——曲线文本
109.标注方式——文字描边
110.标注方式——文本格式化标签
111.创建尺寸注记
112.修改尺寸注记要素

本篇文章来源于微信公众号: 码农设计师

RELATED ARTICLES

欢迎留下您的宝贵建议

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular

Recent Comments