删除c#中字符串中前导特殊字符的最快方法
我正在使用c#,我有一个字符串
-Xyz --Xyz ---Xyz -Xyz-Abc --Xyz-Abc
我只想删除任何前导特殊字符,直到字母表出现, 注意:字符串中间的特殊字符将保持不变。 最快的方法是什么?
您可以使用string.TrimStart
并传入要删除的字符:
var result = yourString.TrimStart('-', '_');
但是,如果要删除的特殊字符数众所周知且很小,这只是一个好主意。
如果不是这样,您可以使用正则表达式:
var result = Regex.Replace(yourString, "^[^A-Za-z0-9]*", "");
我更喜欢这两种方法:
List strings = new List () { "-Xyz", "--Xyz", "---Xyz", "-Xyz-Abc", "--Xyz-Abc" }; foreach (var s in strings) { string temp; // String.Trim Method char[] charsToTrim = { '*', ' ', '\'', '-', '_' }; // Add more temp = s.TrimStart(charsToTrim); Console.WriteLine(temp); // Enumerable.SkipWhile Method // Char.IsPunctuation Method (se also Char.IsLetter, Char.IsLetterOrDigit, etc.) temp = new String(s.SkipWhile(x => Char.IsPunctuation(x)).ToArray()); Console.WriteLine(temp); }
- 我的Windows窗体应用程序大小在不同的笔记本上发生了变化
- Convert.ChangeType的更快版本
- ASP.Net MVC图像上传通过缩减或填充resize
- Web Web API中的严格映射(Over-Posting)
- C#:在这种情况下,我是否应该费心检查null?
- FtpWebRequest错误:550 ASCII模式下不允许使用大小
- PresentationFramework.dll中发生’System.Reflection.TargetInvocationException’
- 使用StreamSocket TCP的WinRT:DataReader.LoadAsyncexception
- 使用C#从API下载PDF文件