2009-11-27 4 views
0

Вот текст У меня естьЧрезвычайно легкий Regex заменить вопрос

Remediation2009November Remediation2009December

Вот регулярное выражение я разработал, чтобы найти их

Remediation2009 (ноябрь | декабрь)

Я я не уверен, как разработать регулярное выражение, чтобы при выполнении замены я мог просто добавить слово до конца своих совпадений.

Remediation2009NovemberCompany2 Remediation2009DecemberCompany2

Благодаря

+0

И на каком языке вы используете? – Martin

+0

Извините, забыл. Я был в SQL Server Management Studio. –

ответ

3

Так как вы не сделали укажите, какой язык - вот пример 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); 

Надеется, что это помогает, С наилучшими пожеланиями, Том.

+0

Черт, я был в середине редактирования этого после того, как вы упомянули Python! Извиняюсь! :( – t0mm13b

+0

+1 никаких проблем, это поможет кому-нибудь когда-нибудь, во всяком случае,: D – YOU

+0

Я был в SQL Server Management Studio, а не Python. Извините за путаницу. –

0

s/Remediation2009 (ноябрь | сентябрь)/Remedation2009 \ 1Company2/

0

В Python

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

будет делать

1

Вот пример использования C#, если вы укажете язык, который вы используете, я мог бы предоставить решение на вашем конкретном языке.

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

Зачем вам регулярное выражение? В Python легко манипулировать строками с помощью встроенных строковых функций

>>> 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 
Смежные вопросы