import re


def text_normalization(text):
    """
    Normalize text
    Remove & Replace unnessary characters
    Parameter argument:
    text: a string (e.g. '.... *** New York N.Y is a city...')

    Return:
    text: a string (New York N.Y is a city.)
    """
    text = re.sub(u'\u201e|\u201c', u'', text)
    text = re.sub(u"\u2022", u'. ', text)
    text = re.sub(u"([.?!]);", u"\\1", text)
    text = re.sub(u'``', u'``', text)
    text = re.sub(u"\.\.+", u" ", text)
    text = re.sub(u"\s+\.", u".", text)
    text = re.sub(u"\?\.", u"?", text)
    text = re.sub(u'[\n\s\t_]+', u' ', text)
    text = re.sub(u"[*]", u"", text)
    text = re.sub(u"\-+", u"-", text)
    text = re.sub(u'^ ', u'', text)
    text = re.sub(u'\u00E2', u'', text)
    text = re.sub(u'\u00E0', u'a', text)
    text = re.sub(u'\u00E9', u'e', text)
    text = re.sub(u'#', u'', text)
    text = re.sub(u'-LRB-', u'(', text)
    text = re.sub(u'-lrb-', u'(', text)
    text = re.sub(u'-RRB-', u')', text)
    text = re.sub(u'-rrb-', u')', text)

    return text