Whenever the built-in Split-Path cmdlet isn't enough, you can always resort to the real .NET class behind it. This class is called System.IO.Path, Use Get-Member with the -static parameter to list its members:
To actually use any of those, append "::" to the class. For example, here is how you can change the file extension of a path to ".ps1":