I am new to ModelBuilder and have not been able to figure how to use part of the FC name: For example the first FC in my GDB containing around 100 files is "A1005_GPS_Residence", and I need to calculate the new field SID = "A1005".

I have seen some posts with python and manually using the Field Calculator.

I tried using one expression, shown in the screenshot, but I am not sure if I can combine field calculations with inline substitution or the like !%Name%![1:4].

Screenshot of MB

  • Just a suggestion but unless you know the desired substring is ALWAYS going to be the first 5 characters it might be better to use split or a regex to get at it.
    – blah238
    Sep 2, 2012 at 21:19
  • 1
    The link in your question is broken. Can you refresh or remove it, please?
    – PolyGeo
    Dec 18, 2014 at 4:31

1 Answer 1


I have attached a python script that should steer you in the right direction. You will find that custom naming in loops is much easier in python than model builder.

EDIT: Added additional code to address new information

# Import standard library modules
import arcpy, os, sys
from arcpy import env

# Allow for file overwrite
arcpy.env.overwriteOutput = True

# Set the workspace directory 
env.workspace = r"C:\temp.gdb" 

# Get the list of the featureclasses to process
fc_tables = arcpy.ListFeatureClasses()

# Loop through each file and perform the processing
for fc in fc_tables:
    print str("processing " + fc)

    # Define field name and expression
    field = "SID"
    expression = str(fc[:5]) #subsets first 5 characters of fc name

    # Create a new field with a new name

    # Calculate field here
    arcpy.CalculateField_management(fc, field, "expression", "PYTHON") 

enter image description here

  • Thanks so much for all the help and for the script. It saved me hours of trying to piece bits of python code together, and a nice way to start looking into arcpy.
    – user9914
    Sep 4, 2012 at 18:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.