操作方法

操作方法:在 ArcGIS Pro 中从文本字段中提取前导字符串、中间字符串和结尾字符串

Last Published: February 28, 2024

描述

在 ArcGIS Pro 中,可使用“计算字段”工具中的 Python 解析器从字符串字段中提取前导文本、中间文本和结尾文本。 这对于数据管理、提高可读性和识别唯一标识符非常有用。 例如,在处理文本字段中包含详细位置描述的数据集时,提取文本的不同部分可简化空间查询和分类任务。

本文提供了使用“计算字段”工具中的 Python 解析器从字符串字段中提取前导文本、中间文本和结尾文本以将其填充到另一个字段中的工作流。 在本例中,从名为 Location_Description 的字段中提取结尾文本。

解决方案或解决方法

  1. 打开 ArcGIS Pro 工程。
  2. 内容窗格中,右键单击要素图层,然后单击属性表
  3. 创建新的文本字段类型以存储提取的字符。 在本例中,新字段名为 Ext_Description
  4. 在属性表中,右键单击字段名称,然后选择单击计算字段
  5. 计算字段窗口中,指定以下参数:
    1. 对于输入表,确保已选择步骤 2 中的图层。 在本例中,使用测试图层。
    2. 对于字段名称,确保已选择在步骤 3 中创建的字段。
    3. 对于表达式类型,选择 Python
    4. 对于表达式,在第一个表达式框中指定下面提供的代码。 将 Field_name 替换为包含要提取的值的字段的名称。 在本例中,使用的字段名称为 Location_Description。
extract_characters(!Field_Name!)
  1. 代码块框中,指定以下表达式。
    • 使用以下代码从字符串中提取前导文本。
def extract_characters(sentence):
    space_index = sentence.find(' ')
    first_word = sentence[:space_index] if space_index != -1 else sentence
    num_characters = len(first_word)
    extracted_characters = first_word[:num_characters]
    return extracted_characters
    • 使用以下代码从字符串中提取中间文本。
def extract_characters(sentence):
    space_index = sentence.find(' ')
    last_space_index = sentence.rfind(' ')
    middle_word = sentence[space_index + 1:last_space_index] if space_index != -1 and space_index != last_space_index else sentence
    num_characters = len(middle_word)
    extracted_characters = middle_word[:num_characters]
    return extracted_characters
    • 使用以下代码从字符串中提取结尾文本。
def extract_characters(sentence):
    space_index = sentence.rfind(' ')
    last_word = sentence[space_index + 1:] if space_index != -1 else sentence
    num_characters = len(last_word)
    extracted_characters = last_word[:num_characters]
    return extracted_characters
  1. 单击验证图标以验证表达式。
  2. 单击确定以运行脚本。
“计算字段”窗口中的 Python 脚本配置.png

下图显示了属性表中的 Ext_Description 字段,其中包含从 Location_Description 字段中提取的结尾文本。

显示提取的最后一个字的字段.png

文章 ID: 000031954

获得人工智能支持

使用 Esri Support AI Chatbot 快速解决您的问题。

立即开始聊天

相关信息

发现关于本主题的更多内容

获取来自 ArcGIS 专家的帮助

联系技术支持部门

立即开始聊天

转至下载选项