docs: def study_datdel(self):
          """Figure out the data delimiter."""
  
          nodigs = r'(\D+)'
  
          line = self.rows[self.rts + 1]  # Study second line of data only.
          digs = re.findall(self.datrx, line)
  
          # if any of the numbers contain a '+' in it, it need to be escaped
          # before used in the pattern:
          digs = [dig.replace('+', r'\+') for dig in digs]
  
          pat = nodigs.join(digs)
          m = re.search(pat, line)
          groups = m.groups()
  
          # If the count of data on the row is 1, the groups tuple (the
          # data delimiters) is empty.
          if not groups:
              self.datdelgroups = groups
              return              # self.datdel remain None.
  
          rpt_cnt = groups.count(groups[0])
  
          if rpt_cnt != len(groups):
              self.warnings.append('Warning, data seperator not consistent.')
  
          if groups[0].strip():
              # If a delimiter apart from white space is included, let that be
              # the delimiter for numpys loadtxt.
              self.datdel = groups[0].strip()
          elif groups[0] == '\t':
              # If specifically a tab as delimiter, use that.
              self.datdel = groups[0]
          # For other white space delimiters, let datdel remain None.
  
          # work-around for the event that numbers clutters the channel names and
          # rts is one number low:
          res = [dat.strip() for dat in self.rows[self.rts].split(self.datdel)
                 if dat.strip()]
          if not all([re.match(self.datrx, dat) for dat in res]):
              self.rts += 1
              # print 'DEBUG: rts was adjusted with 1'
  
          # Keep the groups for debug:
          self.datdelgroups = groups