Usually once a year I have a need to calc a field to a word position in another field in ArcMap. For example, here is a field from some census data I downloaded:
Why did they add the text “Census Tract” to all of these? Seems to be a space waster right? All I really want is just the tract number. So what I will do is create a new field, then calc the value to the 3rd word, or tract number, from the other field.
First I create a new field named appropriately TRACTNUM. You simply do this using the attribute table window pulldown > Add field…
Next, I enter the field name, set the type to Text, and set the length to 10.
My tract numbers will not be longer than 10 characters. Press the OK button and the field will be added to the end of the attribute table.
Next, I scroll over to the new field name in the attribute table and right click on it to select the field calculator.
The field calculator appears. I am using ArcMap 10.1, so I select the Python parser, then double click on the NAMELSAD10 field that contains the tract numbers I want to extract, then set the type to String and click on the .split() function. Next in the expression area between () I enter a double quote, a space, and another double quote, then add  at the very end. The expression should look like the following:
What this will do is take the text from the NAMELSAD10 field, pass it to the split function which uses the space ” ” as the delimiter to separate the words and then extracts the third word for the TRACTNUM field calculation. In Python, position 0 would be the first word, position 1 the second word, and position 2 the third word, which we want. That is why I used .
With everything set in the field calculator, click the OK button. Once the calculation is complete, you will see just the tract numbers in the TRACTNUM field.
Now that I documented this, I will not forget how to do this next year! -mike