2013-02-20 2 views
0

У меня есть строкаЗаменить строку, используя Regex.Replace

string findText = "Paid part-time job (under 8 hours per week)"; 

я хочу, чтобы заменить эту строку с какой-либо другой строки (replaceText = "Paid for job"), используя Regex.Replace() следующим образом:

Regex r = new Regex(findText, RegexOptions.IgnoreCase); 
findText = r.Replace(findText, replaceText); 

, но проблема в том, что эта строка не заменяется, может быть, из-за наличия фигур в тексте.

Может ли кто-нибудь предложить, как эту целую строку можно заменить с помощью Regex.Replace()?

+1

Итак, вы хотите заменить «part-time» на «for»? – CodeZombie

+0

Нет, я хочу заменить всю строку «Платный за работу» или любую другую строку. я хочу, чтобы я мог заменить всю строку, даже если она содержит специальные символы. Из-за специальных символов он не заменяется с помощью regexOptions – user2091061

ответ

1

для использования здесь регулярных выражений.
Просто используйте string.Replace:

var result = original.Replace(findText, replaceText); 
+0

Фактически мне нужно использовать регулярные выражения здесь bcoz, я должен рассмотреть случай чувствительности к регистру здесь. – user2091061

+0

@ пользователь2091061: My code * есть * с учетом регистра. –

+0

Спасибо за решение ... !! – user2091061

0

Для примера проще использовать строки Заменить:

string result = yourString.Replace(findText, replaceText); 

Но если вы все же хотите использовать регулярное выражение, вы должны бежать фигурные скобки, например, таким образом:

string findText = "Paid part-time job [(]under 8 hours per week[)]"; 

и называют его узор вместо FindText :)

+0

на самом деле этот findText исходит из какой-либо базы данных, поэтому не удается избежать скобок ... – user2091061