我有一个简单的问题,我做了一些研究,但找不到正确的答案。
我有这个字符串:
|她想吃早餐|
|
我找到了用另一个字符替换所有字符的答案。
我的想法是我想用 . 替换第一个|
,{
最后一个替换为}
.
我知道这很容易,但我对这个问题的回答真的会帮助我。
提前致谢。
我有一个简单的问题,我做了一些研究,但找不到正确的答案。
我有这个字符串:
|她想吃早餐|
|
我找到了用另一个字符替换所有字符的答案。
我的想法是我想用 . 替换第一个|
,{
最后一个替换为}
.
我知道这很容易,但我对这个问题的回答真的会帮助我。
提前致谢。
您可以使用string.Substring
:
s = "{" + s.Substring(1, s.Length - 2) + "}";
在线查看它:ideone
这假定您要替换的字符是字符串中的第一个和最后一个字符。
如果您使用 .Net 3 及更高版本并且不想使用扩展方法,那么您可以更喜欢 Lambda 以获得比普通字符串操作更好的性能。
string s = "|she wants to eat breakfast|";
s.Replace(s.ToCharArray().First(ch => ch == '|'), '{'); //this replaces the first '|' char
s.Replace(s.ToCharArray().Last(ch => ch == '|'), '}'); // this replaces the last '|' char
string oldString = "|She wants to eat breakfast|";
string newString = "{" + oldString.SubString(1,oldString.Length-2) + "}";
或使用 string.Concat(字符串的 + 运算符的内部实现调用 string.Concat)
string newString = string.Concat("{",oldString.SubString(1,oldString.Length-2),"}");
最快的方法是:
var str = "|She wants to eat breakfast|";
unsafe
{
fixed (char* pt = str)
{
pt[0] = '{';
pt[str.Length - 1] = '}';
}
}
Console.WriteLine(str); // Prints: {She wants to eat breakfast}
您将需要启用不安全代码(右键单击项目 > 属性 > 构建 > “允许不安全代码”。
这比使用 Substring 并在边缘添加手镯快约19 倍。