#NEWLINE# def analyzeString( self , aString ) : #NEWLINE# #INDENT# separators = '-_/. ' #NEWLINE# counts = list ( map ( ( lambda sep : aString . count ( sep ) ) , separators ) ) #NEWLINE# maxCounts = max ( counts ) #NEWLINE# if ( max ( counts ) > 0 ) : #NEWLINE# #INDENT# separator = separators [ counts . index ( maxCounts ) ] #NEWLINE# stringGroups = aString . split ( self ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# separator = '' #NEWLINE# stringGroups = self . splitByCase ( aString ) #NEWLINE# #UNINDENT# cases = list ( map ( self . analyzeCase , stringGroups ) ) #NEWLINE# return StringMetaData ( separator , cases , stringGroups )