Best way to break a string on the last dot on C#

c#, string

Solution

If you want performance, something like:

    string s = "a.b.c.d";
    int i = s.LastIndexOf('.');
    string lhs = i < 0 ? s : s.Substring(0,i),
        rhs = i < 0 ? "" : s.Substring(i+1);

Problem

What would be the best way and more idiomatic to break a string into two at the place of the last dot? Basically separating the extension from the rest of a path in a file path or URL. So far what I'm doing is Split(".") and then String.Join(".") of everything but the last part. Sounds like using a bazooka to kill flies.

Original source