// à copier/coller dans le module à partir d'ici
/*
* Module AWB de correction de syntaxe du mot magique {{formatnum:}}
*
* Auteur : [[:fr:User:TiChou]]
* Date création : juillet 2007
* Date révision : 18 août 2007
*/
public string ProcessArticle(string ArticleText, string ArticleTitle, int wikiNamespace, out string Summary, out bool Skip)
{
Skip = false;
Summary = "";
ArticleText = Regex.Replace(ArticleText,
@"\{\{ *formatnum *: *([^\}]*?) *\}\}",
"{{formatnum:$1}}",
RegexOptions.IgnoreCase);
ArticleText = Regex.Replace(ArticleText,
@"\{\{formatnum:(\d+)\.(\d+)%\}\}",
"$1,$2 %",
RegexOptions.IgnoreCase);
ArticleText = Regex.Replace(ArticleText,
@"(?<=\{\{formatnum:[-\+]?\d+) *((?:[^\W\d]| )+)\}\}",
"}} $1");
ArticleText = Regex.Replace(ArticleText,
@"(?<=\{\{formatnum:(?![-\+]?(?:\d{1,3},(?:\d{3},)*\d{3}|\d+)(?:\.\d+)?\}\}))[^\}]*(?=\}\})",
new MatchEvaluator(formatnum));
return ArticleText;
}
private string formatnum(Match m)
{
string number = m.Value;
number = Regex.Replace(number, @"[^\d,\.]", "");
return number;
}
// à copier/coller dans le module jusqu'ici