我有一个字符串,它的第一部分是一个字符串,最后一个是一个数字,如下所示:
ahde7394
所以我想获得的是:
阿德
7394
我曾想过首先提取字符串,然后从字符的最后一个位置获取数字,直到字符串的结尾,所以我认为可以以某种方式使用索引器:
var stringQuery = NameComp.Select((str,index) => new {myStr=str, position=index})
.Where(c => !Char.IsDigit(c.myStr)).Select((ch,pos) => new { newStr=ch, pos=pos} );
那么我可以这样做:
1)获取字符串:stringQuery.newStr
2) 获取号码:stringQuery.Skip(stringQuery.pos).Select(d => d);
但它不起作用,在获得 stringQuery 后我无法访问它的项目,因为它是匿名类型....
有任何想法吗?
使用 LINQ 的解决方案,猜测 str="ahde7394":
string letters = new string(str.TakeWhile(c => Char.IsLetter(c)).ToArray());
和号码:
string number = new string(str.Skip(letters.Length).TakeWhile(c => Char.IsDigit(c)).ToArray());
或者更好地猜测最后一部分是一个数字:
string number = str.Substring(name.Length);