在c#中简单编辑字符串

时间:2010-11-11 07:39:41

标签: c# string

我有2个字符串,A和B. A包含“HelloHowAreYou”。 B包含“宾果”。我想用字符串B替换字符串A,结果是“BingoHowAreYou”。关于如何做到这一点的任何提示?即使是关键字就足够了。

我知道这是一个新手,但我不想只是为了找到这个简单的东西来搜寻所有的msdn doc。正如我所说,指向正确方向的简单指南/关键字就足够了。

编辑:

假设我不知道字符串的内容。我可以使用替换吗?感谢您的快速回复。

7 个答案:

答案 0 :(得分:6)

幸运的是,您无需追捕MSDN的所有 ......只需the String class

正如其他人所说,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时,具体取决于您想要做什么。)

但值得了解的一些事情:

  • 这是 library 功能的一个很好的例子 - 所以你不会找到它的C#关键字。虽然一些C#关键字与大多数时间的库(例如using类型的IDisposable语句)进行交互,但如果您对某些听起来感兴趣的内容感兴趣库功能,你应该查看库文档,而不是寻找关键字。
  • 字符串不可变String.Replace不会更改现有字符串 - 它会返回带有相应结果的 new 字符串。其他一些类型遵循相同的模式 - 特别是DateTime等值类型通常是不可变的,因此DateTime.AddDays不会更改现有值,但会返回新值。
  • 值得习惯通过MSDN查看。你很可能会用 lot 来做,所以现在看一下字符串类就是不错的做法。

答案 1 :(得分:3)

string C = A.Replace("Hello", "Bingo");

答案 2 :(得分:3)

string a = "HelloHowAreYou";
string b = "Bingo";

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

这应该按照你描述的方式进行,它会返回一个带有“BingoHowAreYou”的新字符串

MSDN article on Replace

答案 3 :(得分:2)

string a = "HelloHowAreYou";
string b = "Bingo"
a = a.Replace("Hello", b); // will replace a to "BingoHowAreYou"

答案 4 :(得分:2)

答案 5 :(得分:2)

 A=A.Replace("Hello",B)

答案 6 :(得分:2)

var a = "HelloHowAreYou";
var b = "Bingo";
var c = a.Replace("Hello", b);