Je suis nouveau à stackoverflow (mon premier message) et regex. Actuellement je travaille sur une application sale simple pour remplacer les propriétés de baseclass avec des champs injectés par ctor. (Cos je dois modifier environ 400 fichiers)Remplacer plusieurs lignes avec .net Regex
Il faut trouver ceci:
ClassName(WiredObjectRegistry registry) : base(registry)
{
et le remplacer par:
ClassName(IDependency paramName, ISecondDependency secondParam, ...)
{
_fieldName = paramName;
...
donc je dois remplacer les deux anciennes lignes avec trois ou plus nouvelles lignes.
En fait, je pensais:
trouver ce ->
className + ctorParams + zéro ou plus espaces blancs + newline + zéro ou plus espaces blancs + {
remplacer par ->
classN amme + newCtorParams + newline + { mes missions sur le terrain
J'ai essayé regex pour .net
className + ctorParam + @"\w*" + "\r|\n" + @"\w*" + @"\{"
qui ne remplace pas les "{" et les espaces blancs correctement
le remplacé le contenu du fichier ressemble à ceci:
public CacheManager(ICallManager callManager, ITetraEventManager tetraEventManager, IConferenceManager conferenceManager, IAudioManager audioManager)
{
_callManager = callManager;
_tetraEventManager = tetraEventManager;
_conferenceManager = conferenceManager;
_audioManager = audioManager;
{
pouvez-vous s'il vous plaît aide moi avec ceci: - |
david
Lorsque vous tapez votre question, il y a quelques informations sur l'écran qui vous indiquent comment formater votre question, y compris comment insérer des blocs de code. –
À quoi ressemble le fichier d'origine (avant le remplacement)? –
Nous devons voir le texte original réel (la partie pertinente, c'est-à-dire) et à quoi il devrait ressembler après le remplacement. Nous montrer des résultats incorrects et comment vous les avez obtenus ne nous aide pas. –