Diviser la phrase en mots, mais ont de la difficulté avec les signes de ponctuation en C#

J'ai vu un peu les mêmes questions, mais je suis en train d'y parvenir.

Donné une chaîne str="La lune est notre satellite naturel, c'est à dire qu'elle tourne autour de la Terre!"
Je veux extraire les mots et de les stocker dans un tableau.
Les attendus des éléments d'un tableau ne serait-ce.

the 
moon 
is 
our 
natural 
satellite 
i.e. 
it  
rotates 
around 
the 
earth

J'ai essayé avec de la Ficelle.split( ','\t','\r') mais cela ne fonctionne pas correctement. J'ai aussi essayé de supprimer l' ., et d'autres signes de ponctuation, mais je voudrais une chaîne comme "c'est à dire" pour être analysé. Quelle est la meilleure façon d'atteindre cet objectif?
J'ai aussi essayé d'utiliser les regex.divisé en vain.

string[] words = Regex.Split(line, @"\W+");

Serait sûrement apprécier quelques coups de coude dans la bonne direction.

La deuxième . dans i.e. et une ponctuation . sont indiscernables, sauf si vous ajoutez une liste de mots qui sont connus à la fin dans ..
Je remarque que la lune tourne autour de son propre axe. tourne autour de la terre.

OriginalL'auteur Richard N | 2011-09-05