from typing import List
import re


def format_corpus_sents(sentence: List[str]) -> List[str]:
    """
    Reformats spaces in contracted words. Contracted words in
    <class 'nltk.corpus.reader.bnc.BNCSentence'> are formatted "it 's" and "ca n't".

    Removes all punctuation except apostrophies, and removes the empty strings left from the deleted
    apostrophies.
    """

    sentence = sentence.copy()

    contraction_index = [index for index, word in enumerate(sentence) if "'" in word]
    for index in reversed(contraction_index):
        if index != 0:
            sentence[index - 1] += sentence.pop(index)

    processed_sentence = [re.sub(r"[^\w']+", "", word.lower()) for word in sentence]

    return list(filter(None, processed_sentence))