2014-01-22 4 views
-2

У меня есть строкаКак заменить определенный символ в строке другим символом в C#?

String s = "S-et6-Rtttdd+4554/dsdsrlsd=" 

Я использую Replace, чтобы заменить его другим персонажем

String g = s.Replace("/","%2f"); 
String r = g.Replace("=","%3b"); 
String f = r.Replace("/+","%2b"); 

Выход ->

S-et6-Rtttdd+4554%2fdsdsrlsd%3d 

Желаемая выход ->

S-et6-Rtttdd+4554%2fdsdsrlsd%3d 

Я не понимаю, как заменить знак «+» желаемым выходом. Это предназначено для кодирования HTTP.

Может кто-нибудь мне помочь?

+3

Не изобретайте колесо - для этого уже есть метод: http://msdn.microsoft.com/en-us/library/4fkewx0t(v=vs.110).aspx – zerkms

+2

Вывод и ваш желаемый результат одинаковый. Я не вижу проблемы. –

ответ

2

Вам не нужно ничего скрывать. Это должно работать просто отлично

String f = r.Replace("+","%2b"); 

Доказательство:

void Main() 
{ 
    String s = "S-et6-Rtttdd+4554/dsdsrlsd="; 
    String g = s.Replace("/","%2f"); 
    String r = g.Replace("=","%3b"); 
    String f = r.Replace("+","%2b"); 
    Console.WriteLine (f); 
} 

Выходы

S-et6-Rtttdd% 2b4554% 2fdsdsrlsd% 3b

+0

Первоначально это не сработало, какая-то магия или что? – user3188390

+0

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

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