Split a Camel-Cased word into its components

I needed to split a camel-cased word into it’s component parts, and found the following extension method to help out. It works pretty well.

public static string SplitCamelCase( this string str )
{
return Regex.Replace( Regex.Replace( str, @"(\P{Ll})(\P{Ll}\p{Ll})", "$1 $2" ), @"(\p{Ll})(\P{Ll})", "$1 $2" );
}

20110409-060908.jpg