I am trying to make use of a codeblock found in this thread:

Removing numeric characters from alphanumeric value in field calculation?

I put this code into the pre-logic script field of the field calculator:

import re 
def strip_digits(s):
    return re.sub("\d+", "", s)

And call it in the expression as below with the column in question substituted for column_name:


And get the following when running it on a column of data type long:

ERROR 000539: Error running expression: strip_digits(171752)<type 'exceptions.TypeError'>:expected string or buffer

I can't seem to figure out what is going wrong, any ideas?

  • What is the name of the column ?
    – gene
    Commented Aug 31, 2015 at 19:53
  • Column name is SITE.
    – Alpheus
    Commented Sep 8, 2015 at 23:39

1 Answer 1


Your input and output column should be text type. It's expecting a string or buffer and you passed probably integer or double.

  • That's it, column type is long interger. Didn't know that allowed text...an example of the data is '1120 - Mesic Hammock'.
    – Alpheus
    Commented Sep 8, 2015 at 23:58

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.