2013-09-16 23 views
2

我想使用正則表達式來搜索字符串,匹配單詞並操縱最終結果。字符串是書的標題,例如,「偉大的蓋茨比」,「美妙的生活」或「流行病」。我們的目標是採用「the」,「a」和「an」等詞語,並在標題末尾附加逗號,使其顯示爲:「Great Gatsby,The」,「Wonderful Life, A「和」Epidemic,An「。有沒有使用正則表達式的方法可以做到這一點?在c中使用正則表達式在字符串中追加匹配#

+1

是的,有;使用'Regex.Replace()'。 – Jerry

+1

你應該小心這種方法。你不想把「殺死一隻知更鳥」變成「殺死嘲鳥A」。你需要看第一個單詞。 – mrtig

回答

1

試試這個:

string output = Regex.Replace(input,"^(\\w+\\s*)(.+)$","$2, $1"); 
3

這應該適用於大多數的任何標題:

if (Regex.IsMatch(title, @"^(The|A|An)\b.+", RegexOptions.IgnoreCase)) 
    title = Regex.Replace(title, @"^((The|A|An)\s)?(.*)$", "$3, $1", RegexOptions.IgnoreCase); 
+0

謝謝!這真的很好! – user2246631