( self, instring )
Extension to C{L{scanString}}, to modify matching text with modified tokens that may
        be returned from a parse action.  To use C{transformString}, define a grammar and
        attach a parse action to it that modifies the returned token list.
        Invoking C{transformString()} on a target string will then scan for matches,
        and replace the matched text patterns according to the logic in the parse
        action.  C{transformString()} returns the resulting transformed string.
        
        Example::
            wd = Word(alphas)
            wd.setParseAction(lambda toks: toks[0].title())
            
            print(wd.transformString("now is the winter of our discontent made glorious summer by this sun of york."))
        Prints::
            Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York.
Extension to C{L{scanString}}, to modify matching text with modified tokens that may
        be returned from a parse action.  To use C{transformString}, define a grammar and
        attach a parse action to it that modifies the returned token list.
        Invoking C{transformString()} on a target string will then scan for matches,
        and replace the matched text patterns according to the logic in the parse
        action.  C{transformString()} returns the resulting transformed string.
        
        Example::
            wd = Word(alphas)
            wd.setParseAction(lambda toks: toks[0].title())
            
            print(wd.transformString("now is the winter of our discontent made glorious summer by this sun of york."))
        Prints::
            Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York.
Extension to C { L { scanString }} to modify matching text with modified tokens that may be returned from a parse action . To use C { transformString } define a grammar and attach a parse action to it that modifies the returned token list . Invoking C { transformString () } on a target string will then scan for matches and replace the matched text patterns according to the logic in the parse action . C { transformString () } returns the resulting transformed string . Example :: wd = Word ( alphas ) wd . setParseAction ( lambda toks : toks [ 0 ] . title () ) print ( wd . transformString ( now is the winter of our discontent made glorious summer by this sun of york . )) Prints :: Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York .
def transformString( self, instring ):
        """
        Extension to C{L{scanString}}, to modify matching text with modified tokens that may
        be returned from a parse action.  To use C{transformString}, define a grammar and
        attach a parse action to it that modifies the returned token list.
        Invoking C{transformString()} on a target string will then scan for matches,
        and replace the matched text patterns according to the logic in the parse
        action.  C{transformString()} returns the resulting transformed string.
        
        Example::
            wd = Word(alphas)
            wd.setParseAction(lambda toks: toks[0].title())
            
            print(wd.transformString("now is the winter of our discontent made glorious summer by this sun of york."))
        Prints::
            Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York.
        """
        out = []
        lastE = 0
        # force preservation of <TAB>s, to minimize unwanted transformation of string, and to
        # keep string locs straight between transformString and scanString
        self.keepTabs = True
        try:
            for t,s,e in self.scanString( instring ):
                out.append( instring[lastE:s] )
                if t:
                    if isinstance(t,ParseResults):
                        out += t.asList()
                    elif isinstance(t,list):
                        out += t
                    else:
                        out.append(t)
                lastE = e
            out.append(instring[lastE:])
            out = [o for o in out if o]
            return "".join(map(_ustr,_flatten(out)))
        except ParseBaseException as exc:
            if ParserElement.verbose_stacktrace:
                raise
            else:
                # catch and re-raise exception from here, clears out pyparsing internal stack trace
                raise exc
def transformString ( self , instring ) : out = [ ] lastE = 0 # force preservation of <TAB>s, to minimize unwanted transformation of string, and to # keep string locs straight between transformString and scanString self . keepTabs = True try : for t , s , e in self . scanString ( instring ) : out . append ( instring [ lastE : s ] ) if t : if isinstance ( t , ParseResults ) : out += t . asList ( ) elif isinstance ( t , list ) : out += t else : out . append ( t ) lastE = e out . append ( instring [ lastE : ] ) out = [ o for o in out if o ] return "" . join ( map ( _ustr , _flatten ( out ) ) ) except ParseBaseException as exc : if ParserElement . verbose_stacktrace : raise else : # catch and re-raise exception from here, clears out pyparsing internal stack trace raise exc