我想提取两个下划线之间的字符串。'_' 之间和两侧的字符数会有所不同,但只会有两个下划线。带下划线的长字段为文本字段,要填写的字段为短整数。我已经能够解析出下划线前后的字符并填充要素类中的其他字段,但无法将中间部分放入新字段中。
示例 1:102_1204_234324
我想返回'1204'
示例 2:324423_1_342
我想返回'1'
我尝试了多种变体,我认为应该起作用的变体是:
# Import system modules
import arcpy
#from arcpy import env
# Set environment settings
arcpy.env.workspace = "c:/temp/testing.gdb"
# Set local variables
inFeatures = "testFeature"
fieldName = "testField"
expression = "!parse_field!.split('_')[1::2]"
# Execute CalculateField
arcpy.CalculateField_management(inFeatures, fieldName, expression, "PYTHON", "")
我认为这会创建一个列表,然后返回列表的每个第二个元素。但是要填写的字段(testField)仍然是空的。
谢谢-al