Нет простого способа сделать это, так как обратный тип String. Формат не детерминированный.
Оба:
String.Format( "{0}{1}", "123", "456" )
String.Format( "{0}{1}", "12", "3456" )
дает вам 123456
.Машина не будет просто угадывать, какой вам нужен.
Однако есть более хитрый способ сделать это, у вас есть регулярные выражения.
Вы можете использовать выражение:
var matches = Regex.Match ( String.Format ( "{0}-{1}", "127.0.0.1", "192.168.0.1"), "(?<startIP>.*)-(?<endIP>.*)" );
Console.WriteLine ( matches.Groups["startIP"].Value ); // 127.0.0.1
Console.WriteLine ( matches.Groups["endIP"].Value ); // 192.168.0.1