最後のダッシュの右側にあるすべての文字を取得する 質問する

最後のダッシュの右側にあるすべての文字を取得する 質問する

以下のものがあります:

string test = "9586-202-10072"

最後のダッシュの右側にあるすべての文字を取得して-10072 にするにはどうすればよいでしょうか。最後のダッシュの右側の文字数は常に異なります。

これはどうすればできるのでしょうか?

ベストアンサー1

最後の位置-は で取得できますstr.LastIndexOf('-')。したがって、次のステップは明らかです。

var result = str.Substring(str.LastIndexOf('-') + 1);

修正:

Brian が以下で述べているように、ダッシュのない文字列にこれを使用すると、元の文字列が返されます。

追加:

C# 8 の導入以降、範囲インジケーターを使用するようにコードを書き直すことができます。

var result = str[(str.LastIndexOf('-') + 1)..];

おすすめ記事