Простое редактирование строк в C # - PullRequest
1 голос
/ 11 ноября 2010

У меня есть 2 строки, A и B. A содержит «HelloHowAreYou».Б содержит «Бинго».Я хочу заменить строку A строкой B, в результате чего "BingoHowAreYou".Любые советы о том, как это сделать?Достаточно даже ключевого слова.

Я знаю, что это своего рода новичок, но я не хочу охотиться на всех MSDN DOC, просто чтобы найти эти простые вещи.Как я уже сказал, достаточно простого руководства / ключевого слова, указывающего на правильное направление.

Редактировать:

При условии, что я не знаю содержимого строк.я могу просто использовать замену?Спасибо за быстрый ответ.

Ответы [ 7 ]

6 голосов
/ 11 ноября 2010

К счастью, вам не нужно выслеживать все MSDN ... просто класс String .

Как уже говорили другие, String.Replace(string, string), вероятно, то, что вы ищете:

string a = "HelloHowAreYou";
string b = "Bingo";
string c = a.Replace("Hello", b); // Now the value of c is "BingoHowAreYou"

В качестве альтернативы, если вы пытаетесь просто заменить первые символы a тем же количеством символов в b, вместо этого можно сделать что-то подобное, используя Substring и конкатенацию строк:

string c = b.Length >= a.Length ? b : b + a.Substring(b.Length);

(В зависимости от того, что именно вы хотите сделать, когда b, конечно, длиннее a.)

Хотя кое-что стоит знать:

  • Это хороший пример функциональности библиотеки - так что вы не найдете для нее ключевое слово C #. В то время как некоторые ключевые слова C # do взаимодействуют с библиотекой (например, операторы using, которые знают о типе IDisposable) большую часть времени, если вас интересует что-то, что походит на библиотечную функцию, вы следует искать в документации библиотеки, а не искать ключевое слово.
  • Строки неизменны : String.Replace не изменяет существующую строку - она ​​возвращает новую строку с соответствующим результатом. Некоторые другие типы следуют той же схеме - в частности, типы значений, такие как DateTime, обычно неизменны, поэтому DateTime.AddDays не меняет существующее значение, но возвращает новое значение.
  • Стоит привыкнуть просматривать MSDN. Скорее всего, вы сделаете это лот , так что теперь лучше посмотреть на класс строки.
3 голосов
/ 11 ноября 2010
string a = "HelloHowAreYou";
string b = "Bingo";

string result = a.Replace( "Hello", b );

Это должно сделать то, что вы описываете, он возвращает новую строку с "BingoHowAreYou"

Статья MSDN о замене

3 голосов
/ 11 ноября 2010
string C = A.Replace("Hello", "Bingo");
2 голосов
/ 11 ноября 2010
var a = "HelloHowAreYou";
var b = "Bingo";
var c = a.Replace("Hello", b);
2 голосов
/ 11 ноября 2010
 A=A.Replace("Hello",B)
2 голосов
/ 11 ноября 2010
2 голосов
/ 11 ноября 2010
string a = "HelloHowAreYou";
string b = "Bingo"
a = a.Replace("Hello", b); // will replace a to "BingoHowAreYou"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...