Logo Search packages:      
Sourcecode: bauble version File versions

def bauble::utils::pyparsing::ParserElement::transformString (   self,
  instring 
) [inherited]

Extension to scanString, to modify matching text with modified tokens that may
   be returned from a parse action.  To use transformString, define a grammar and
   attach a parse action to it that modifies the returned token list.
   Invoking transformString() on a target string will then scan for matches,
   and replace the matched text patterns according to the logic in the parse
   action.  transformString() returns the resulting transformed string.

Definition at line 1103 of file pyparsing.py.

01103                                          :
        """Extension to scanString, to modify matching text with modified tokens that may
           be returned from a parse action.  To use transformString, define a grammar and
           attach a parse action to it that modifies the returned token list.
           Invoking transformString() on a target string will then scan for matches,
           and replace the matched text patterns according to the logic in the parse
           action.  transformString() returns the resulting transformed string."""
        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
        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:])
        return "".join(map(_ustr,out))


Generated by  Doxygen 1.6.0   Back to index