次のように、最初の部分が文字列で最後の部分が数字である文字列があります。
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 を取得した後、匿名型であるため、そのアイテムにアクセスできません....
何か案は?
str="ahde7394" と推測するLINQ を使用したソリューション:
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);