import re


def CleanText(text):
  """Cleans provided text by lower casing words, removing punctuation, and
  normalizing spacing so that there is exactly one space between each word.

  Args:
    text: Raw text to be cleaned.

  Returns:
    Cleaned version of text.

  """

  pretty_issue = text.lower().strip()

  quoteless_issue = re.sub('\'', '', pretty_issue)
  no_punctuation_issue = re.sub('[^\w\s]|_+', ' ', quoteless_issue)
  one_space_issue = ' '.join(no_punctuation_issue.split())

  return one_space_issue