English 中文(简体)
C# 的字符串中是否有替换两个字符的短格式方式?
原标题:Is there a shortform way to replace two characters inside a string in C#?
  • 时间:2012-05-21 07:33:19
  •  标签:
  • c#

参照:

var x = "abc";
var x = "[abc]";

我为删除[和]字符编码了以下内容。

x1 = x.Replace("[", "");
x2 = x1.Replace("]", "");

是否有更干净的方法可以这样做? 例如,我可以用字符串一替换另一个吗? 请注意,如果出现的话,在字符串的开头和结尾总是能找到这些字符串的[和]。

问题回答
string newstring = x.Trim( [ ,  ] );

例如,我可以用字符串一取代另一字串吗?

是:

var result = x.Replace("[", "").Replace("]", "");

替换 () 返回字符串后, 您可以将表达式连锁在一起 :

var x1 = x.Replace("[", "").Replace("]", "");

请注意,如果出现[和],将总是在字符串的开头和结尾处找到[和]。

您需要使用正则表达式以确保 < 严格 < / em > 没有替换其他方括号 :

string output = Regex.Replace(x, @"^[|]$", "");

可能最有效的方法, 包括大字符串和许多字符串, 要删除 :

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();
}
string newstring = x.TrimStart( [ ).TrimEnd( ] );

您应该使用 TrimStart 和 TrimEnd :

string x = "[abc]";
string result = x.TrimStart( [ ).TrimEnd( ] );

这将是最简单的方式,表现最好。

在这里,我假定[将在开始和]最后。





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签