Solved! Go to Solution.
def FindLabel ( esri__measure ): if len(str(int( esri__measure ))) == 0: return "0+00" elif len(str(int( esri__measure ))) == 2: return "0+{0}{1}".format( *esri__measure ) elif len(str(int( esri__measure ))) == 3: return "{0}+{1}{2}".format( *esri__measure ) elif len(str(int( esri__measure ))) == 4: return "{0}{1}+{2}{3}".format( *esri__measure ) elif len(str(int( esri__measure))) == 5: return "{0}{1}{2}+{3}{4}".format( *esri__measure ) elif len(str(int( esri__measure ))) == 6: return "{0}{1}{2}{3}+{4}{5}".format( *esri__measure )
It verifies, but it returns nothing. Just a blank. I also tried it without the str(int part and got the same thing. A blank when verified.
def FindLabel (esri__measure): EM = str(int(round(esri__measure))) if len(EM) == 0: return "0+00" elif len(EM) == 1: return "0+0{0}".format(*EM) elif len(EM) == 2: return "0+{0}{1}".format(*EM) elif len(EM) == 3: return "{0}+{1}{2}".format(*EM) elif len(EM) == 4: return "{0}{1}+{2}{3}".format(*EM) elif len(EM) == 5: return "{0}{1}{2}+{3}{4}".format(*EM) elif len(EM) == 6: return "{0}{1}{2}{3}+{4}{5}".format(*EM)
"{0}{1}{2}+{3}{4}".format( *[esri__measure])
def FindLabel ( [esri__measure] ): if len([esri__measure]) == 5: return "{0}{1}{2}+{3}{4}".format( *[esri__measure]) elif len([esri__measure]) == 6: return "{0}{1}{2}{3}+{4}{5}".format( *[esri__measure]) else: return "UNKNOWN FIELD LENGTH"
def FindLabel ( [FIELD_NAME] ): rs = [FIELD_NAME][-2:] ls = [FIELD_NAME][:-2] return ls + "+" + rs
Square brackets work fine in the label expression (tested on 10.1)def FindLabel ( [FIELD_NAME] ): rs = [FIELD_NAME][-2:] ls = [FIELD_NAME][:-2] return ls + "+" + rs
[FIELD_NAME][0:-2]
Square brackets work fine in the label expression (tested on 10.1)def FindLabel ( [FIELD_NAME] ): rs = [FIELD_NAME][-2:] ls = [FIELD_NAME][:-2] return ls + "+" + rs
Expression: FindLabel(![FIELDNAME]!) Code: def FindLabel(fn): rs = fn[:3] # first three chars ls = fn[3:] # characters four-> end return "{0}+{1}".format(rs, ls)
def FindLabel ( esri__measure ): if len(str(int( esri__measure ))) == 0: return "0+00" elif len(str(int( esri__measure ))) == 2: return "0+{0}{1}".format( *esri__measure ) elif len(str(int( esri__measure ))) == 3: return "{0}+{1}{2}".format( *esri__measure ) elif len(str(int( esri__measure ))) == 4: return "{0}{1}+{2}{3}".format( *esri__measure ) elif len(str(int( esri__measure))) == 5: return "{0}{1}{2}+{3}{4}".format( *esri__measure ) elif len(str(int( esri__measure ))) == 6: return "{0}{1}{2}{3}+{4}{5}".format( *esri__measure )
def FindLabel ( esri__measure ): m = esri__measure return m
def FindLabel ( esri__measure ): m = esri__measure ls = m[:-2] rs = m[-2:] return ls "+" rs
def FindLabel ( esri__measure ): rs = esri__measure[-2:] ls = esri__measure[:-2] return ls + "+" + rs
"{0}{1}{2}+{3}{4}".format( *str(esri__measure))
def FindLabel ( esri__measure): EM = str(esri__measure) if len(EM) == 5: return "{0}{1}{2}+{3}{4}".format(*EM) elif len(EM) == 6: return "{0}{1}{2}{3}+{4}{5}".format(*EM) else: return "UNDEFINED INPUT"
def FindLabel (esri__measure): s = ''.join(['{%s}' % i for i in str(esri__measure)]) return s[:-6] + '+' + s[-6:]
esri__measure
str(esri__measure)
'{0}'.format(esri__measure)[/INDENT]
def FindLabel ( esri__measure): return esri__measure
def FindLabel ( esri__measure): return str(esri__measure)
def FindLabel ( esri__measure): EM = str(esri__measure) return EM[/INDENT]
str(esri__measure)[0][/INDENT]
def FindLabel ( esri__measure): EM = str(esri__measure) return EM[0] + EM[-1][/INDENT]
The code block, which is simply a python function that takes an input and returns an output, should use a Python variable -- not field names. (The insertion of the field value for [fieldname] only happens in the expression block.)Expression: FindLabel(![FIELDNAME]!) Code: def FindLabel(fn): rs = fn[:3] # first three chars ls = fn[3:] # characters four-> end return "{0}+{1}".format(rs, ls)