我知道我可以遍历字符串或构建正则表达式或反转集合(毕竟ASCII不是那么大)并搜索第一个实例,但是Yuck.
我正在寻找的是一个漂亮的衬垫.
更少的功能更好,LINQ出局了(对我来说,不要问,这是一个长篇故事)
我要去的解决方案(除非我看到更好的东西)
static int FirstNotMeta(int i, string str) { for(; i < str.Length; i++) switch(str[i]) { case '\\': case '/': case '.': continue; default: return i; } return -1; }
好吧,我作弊,我事先知道我关心的是什么char.
这有效:
public static char FindFirstNotAny(this string value, params char[] charset) { return value.TrimStart(charset)[0]; }