Des idées?Essayer de remplacer tous les espaces blancs par un seul espace
Mon programme est un utilitaire de validation de fichier et je dois lire dans un fichier de format puis analyser chaque ligne par un seul espace. Mais évidemment, la personne qui a écrit le fichier de format peut utiliser des tabulations, ou 2 espaces, ou toute forme d'espace, et je cherche du code pour le faire. J'ai essayé ceci:
public static string RemoveWhitespace(this string line)
{
try
{
return new Regex(@"\s*").Replace(line, " ");
}
catch (Exception)
{
return line;
}
}
Je suppose que c'est faux.
Aide!
Si vous allez faire ce beaucoup de fois que vous pouvez stocker la construction l'objet Regex au préalable. Un readonly statique privé ferait l'affaire. Ensuite, vous évitez la création du moteur regex chaque fois que vous allez remplacer une ligne. – Skurmedel
@Skurmedel: Ou utilisez simplement la méthode statique 'Regex.Replace' intégrée. – LukeH
@LukeH: Je pense que vous avez manqué mon point. Il y a une raison pour laquelle vous pouvez préconstruire les objets regex, et pas seulement pour une réutilisation facile. Voir ici http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.aspx "Méthodes statiques vs instances". Certes, s'il n'utilise pas 15 expressions rationnelles différentes dans sa demande, il n'y a probablement aucun problème. Mais je ne connais pas son application. C'est pourquoi j'ai dit "pourrait". – Skurmedel