2009-10-12 2 views
1

я должен заменить в следующим образомЗаменить строки в файле

, если строка «строка _countryCode» я должен заменить его как «строка _sCountryCode»

, как вы можете видеть, где есть _ Я заменить его _s followd быть следующий символ в столицах т.е. _sC

более

примеры:

строка _postalCode быть заменен в качестве строки _sPostalCode

строка _firstName будет заменить в строке _sFirstName

Пожалуйста, помогите. Предпочтительно ответ в синтаксисе C#

+4

Вы хотите * ввести * венгерский? ... * почему? * –

+0

Я согласен с Марком. Я не уверен, что могу потворствовать этой деятельности, помогая вам :) –

+0

Ну, если «s» указывает, например, «безопасный» (проверенный пользовательский ввод), это не обязательно плохо. – Svante

ответ

1

Не уверен, что я понимаю почему, но, возможно, что-то вроде:

static readonly Regex hungarian = 
     new Regex(@"(string\s+_)([a-z])", RegexOptions.Compiled); 
... 
string text = ... 
string newText = hungarian.Replace(text, match => 
    match.Groups[1].Value + "s" + 
    match.Groups[2].Value.ToUpper()); 

Обратите внимание, что регулярное выражение не обязательно запятнать такие примеры, как (действительный C#):

string 
    _name = "abc"; 
0

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

+0

yah sure..but как сделать следующий символ верхним регистром.ie _c должен быть _sC. Я новичок .. – 2009-10-12 06:51:53

+0

yourString.Replace ("_ c", "_sC") сделал бы это. – danish

+0

Если вы прочитали вопрос, поисковый запрос не исправлен, так что это будет не совсем так. Ему понадобится регулярное выражение. – James

0
StringBuilder ss=new StringBuilder(); 
     string concat="news_india";//or textbox1.text;   
     int indexs=concat.LastIndexOf("_")+1;//find "_" index 
     string find_lower=concat.Substring(indexs,1); 
     find_lower=find_lower.ToUpper(); //convert upper case 
     ss.Append(concat); 
     ss.Insert(indexs,"s"); //s->what ever u like give "+your text+" 
     ss.Insert(indexs+1,find_lower); 

Try this..its будет работать

Смежные вопросы