2009-11-27 8 views
0

Voici le texte que jeextrêmement facile Regex Remplacer question

Remediation2009November Remediation2009December

Voici le regex j'ai développé pour les trouver

Remediation2009 (Novembre | Décembre)

Ce que je Je ne suis pas sûr de savoir comment développer une regex de sorte que lorsque j'effectue le remplacement, je peux simplement ajouter un mot à la fin de mes matchs

Remediation2009NovemberCompany2 Remediation2009DecemberCompany2

Merci

+0

Et quelle langue utilisez-vous? – Martin

+0

Désolé, j'ai oublié. J'étais dans SQL Server Management Studio. –

Répondre

3

Puisque vous ne l'avez pas mentionnez quelle langue - voici un exemple C#

 
public Regex MyRegex = new Regex(
     "Remediation2009(November|December)\\s+", 
    RegexOptions.IgnoreCase 
    | RegexOptions.CultureInvariant 
    | RegexOptions.IgnorePatternWhitespace 
    | RegexOptions.Compiled 
    ); 


// This is the replacement string 
public string MyRegexReplace = 
     "Remediation2009($1)Company2 "; 


//// Replace the matched text in the InputText using the replacement pattern 
string result = MyRegex.Replace(InputText,MyRegexReplace); 

Hope this helps, Meilleures salutations, Tom.

+0

Merde, j'étais en train d'éditer ceci après que vous ayez mentionné Python! Toutes mes excuses! :( – t0mm13b

+0

+1 pas de problème, il va aider quelqu'un à un jour, de toute façon,: D – YOU

+0

J'étais dans SQL Server Management Studio pas Python Désolé pour la confusion.Donné est l'exemple ci-dessus complet? Merci! +1 –

0

s/Remediation2009 (novembre | Septembre)/Remedation2009 \ 1Company2/

0

En Python

import re 
text="Remediation2009November Remediation2009December" 
re.sub("(Remediation2009(?:November|December))","\\1Company2",text) 

fera

1

Voici un exemple utilisant C#, si vous spécifiez la langue que vous utilisez, je pourrais fournir la solution dans votre langue spécifique.

using System; 
using System.Text.RegularExpressions; 

namespace ConsoleApplication4 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
     var input = "Remediation2009December"; 
     var regex = new Regex("Remediation2009(November|December)"); 
     var output = regex.Replace(input, "$0Company2"); 

     Console.WriteLine(output); 
     Console.ReadLine(); 
     } 
    } 
} 
0

Pourquoi avez-vous besoin d'une regex? En Python, il est facile de faire des manipulations de chaînes simplement en utilisant des fonctions de chaîne construites.

>>> s="Remediation2009November Remediation2009December".split() 
>>> for n,word in enumerate(s.split()): 
... if word.endswith("November") or word.endswith("December"): 
...  s[n]=word+"Company2" 
>>> print ' '.join(s) 
Remediation2009NovemberCompany2 Remediation2009DecemberCompany2