Изменить строковое значение. C # - PullRequest
0 голосов
/ 17 марта 2010

Как мне изменить строковое значение

http://host/index.php?p=page 

до

http://host/index.php?p=

Ответы [ 8 ]

5 голосов
/ 17 марта 2010

Это невозможно.

В .NET строки являются неизменяемыми, что означает, что вы не можете изменить строку.

Что вы можете сделать, это создать новое строковое значение изоригинал, например, путем копирования всей строки, кроме последних четырех символов:

url = url.Substring(0, url.Length - 4);
2 голосов
/ 17 марта 2010

Не уверен, так как вас здесь не убирают, но это делает то, что вы просите.

string value = @"http://host/index.php?p=page";
value = @"http://host/index.php?p=";
1 голос
/ 18 марта 2010

Вот еще один способ:

String oldString = "http://host/index.php?p=page";
String newString = oldString.Substring(0, oldString.IndexOf("?p=") + 3);
1 голос
/ 17 марта 2010

Если вы хотите удалить все после первого символа "=":

string s = @"http://host/index.php?p=page"
s = s.Split('=')[0] + "=";
1 голос
/ 17 марта 2010

Вот так я понял твой вопрос, удалит что-нибудь после последнего "="

string s = @"http://host/index.php?p=page";
s = s.Remove(s.LastIndexOf("=")+1);
1 голос
/ 17 марта 2010
string s = @"http://host/index.php?p=page";
s = s.Replace("page", "");

Или, если серьезно, вы, вероятно, хотите:

string s = @"http://host/index.php?p=page";
s = s.Substring(0, s.LastIndexOf('=') + 1);
1 голос
/ 17 марта 2010
string s=@"http://host/index.php?p=page";

s=@"http://host/index.php?p=";
0 голосов
/ 17 марта 2010

Кроме того, если вы хотите «параметризовать» строку.

String.Format("http://host/index.php?p={0}", variableName);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...