string input = "testeeeeeee";
char[] temp = input.ToCharArray();
var test = Regex.Replace(input.Replace(temp[1].ToString(), "@").Trim(), @"\s+", " ");
Console.WriteLine(test);
这是我现在的代码,我希望我的第二个字符串上的字符串被替换为" @" ,现在问题是每个e都将在@中被替换,如何修复它只会替换第二个char而不再有?
答案 0 :(得分:8)
一种方法是只为第二个字符分配一个新值:
var input = "testeeeeeee".ToCharArray();
input[1] = '@';
var result = new string(input);
您希望在原始字符串上执行input[1]
= @
而不是char[]
,但由于字符串是不可变的,因此您无法更改它并且读取索引器 - 只。
另一种方式(我认为不太可取):
var input = "testeeeeeee";
var result = input[0] + "@" + string.Concat(input.Skip(2));
对于第二种方式,使用SubString
从第二个索引到结尾获取字符串更清晰
答案 1 :(得分:0)
您可以使用Substring
功能
friend ostream& operator<<(ostream& os, Genre& g) {
os << g.getGenre();
return os;
}