-3

我得到的文字是:

string s="abbcdefbbgh"
string a = s.Substring(1, 2);

结果是 a="bb";

如何获得反值:a="acdefbbgh",即没有该子字符串的值?

4

6 回答 6

10

我想你正在寻找String.Remove.

于 2012-09-04T09:20:58.970 回答
7

有几种方法。例如,您可以使用以下Remove方法:

string a = s.Remove(1, 2);

您可以使用两个Substring调用并连接结果:

string a = s.Substring(0, 1) + s.Substring(1 + 2);

您可以使用一个StringBuilder对象:

StringBuilder b = new StringBuilder(s);
b.Remove(1, 2);
string a = b.ToString();

您可以使用 Linq 扩展:

string a = new String(s.Where((c, i) => i < 1 || i > 2).ToArray());
于 2012-09-04T09:22:04.960 回答
2

我认为您正在寻找:

string a = s.Remove(1,2);

并在以下帮助下SubString()

string a = s.Substring(0, 1) + s.Substring(3, s.Length);
于 2012-09-04T09:22:53.977 回答
2
 string s = "abbcdefbbgh";
 string a = s.Remove(1, 2);
于 2012-09-04T10:21:36.620 回答
2

这是一种方法,

string.Format("{0}{1}", s.Substring(0, 1), s.Substring(3));

string.Remove更好。

于 2012-09-04T09:21:21.287 回答
2

这是你要找的吗?

int start = 1;
int end = 2;

string a = s.Substring(0,start) + s.Substring(end+1);
于 2012-09-04T09:22:18.407 回答