假设:
var x = "abc";
var x = "[abc]";
我编码以下内容以删除[和]字符。
x1 = x.Replace("[", "");
x2 = x1.Replace("]", "");
有什么方法看起来更干净吗?我可以举例说一个字符串替换另一个吗?请注意,[和]如果出现,将始终位于字符串的开头和结尾。
答案 0 :(得分:8)
string newstring = x.Trim('[', ']');
答案 1 :(得分:2)
我可以将一个字符串替换为另一个吗?
是:
var result = x.Replace("[", "").Replace("]", "");
答案 2 :(得分:2)
由于Replace()返回一个字符串,您可以将表达式链接在一起:
var x1 = x.Replace("[", "").Replace("]", "");
答案 3 :(得分:1)
请注意,[和]如果出现,将始终位于字符串的开头和结尾。
您需要使用正则表达式来确保严格没有替换其他方括号:
string output = Regex.Replace(x, @"^\[|\]$", "");
答案 4 :(得分:1)
可能最有效的方法是使用大字符串和许多字符删除:
String input = "[abc]";
String removed = input.RemoveChars(new[] { '[', ']' });
public static String RemoveChars(this string input, char[] charsToRemove)
{
Array.Sort(charsToRemove);
StringBuilder sb = new StringBuilder();
foreach (char c in input)
{
if (Array.BinarySearch(charsToRemove, c) < 0)
sb.Append(c);
}
return sb.ToString();
}
答案 5 :(得分:0)
string newstring = x.TrimStart('[').TrimEnd(']');
答案 6 :(得分:0)
你应该使用TrimStart和TrimEnd:
string x = "[abc]";
string result = x.TrimStart('[').TrimEnd(']');
这将是最简单的方式,并将具有最佳性能。
在这里,我假设'['将在开头,']'将在最后。