删除c#中字符串中前导特殊字符的最快方法

Sma*_*boy 3 c# string

我正在使用c#,我有一个字符串

-Xyz
--Xyz
---Xyz
-Xyz-Abc
--Xyz-Abc
Run Code Online (Sandbox Code Playgroud)

我只想删除任何前导特殊字符,直到字母表出现,注意:字符串中间的特殊字符将保持不变.最快的方法是什么?

Dan*_*rth 6

您可以使用string.TrimStart并传入要删除的字符:

var result = yourString.TrimStart('-', '_');
Run Code Online (Sandbox Code Playgroud)

但是,如果要删除的特殊字符数众所周知且很小,这只是一个好主意.
如果不是这样,您可以使用正则表达式:

var result = Regex.Replace(yourString, "^[^A-Za-z0-9]*", "");
Run Code Online (Sandbox Code Playgroud)

  • @Smartboy:这是最容易理解的方式,也是编写它的最快方式.如果它是执行时最快的方式,只能通过一些分析来回答.但是,如果它是由编译器验证的真实性能问题,请仅对此进行优化.如果你只是*认为它是一个性能问题,那很可能不是. (2认同)