import re


def _normalize_name(n):
  """Splits words by non-alphanumeric characters and PascalCases the rest.

  Args:
    n: The string to normalize.

  Returns:
    A normalized version of the given string.
  """
  words = []
  for word in re.split(r'[^0-9a-zA-Z]', n):
    words.append('%s%s' % (word[:1].upper(), word[1:]))
  return ''.join(words)