var strings = new List<string>{"Van Den Broek","Derksen-van 't schip","In Het Lid-Van De Boer",
"van den Broek","Derksen-Van 'T Schip","In het Lid-Van De Boer","'T Gilde","Cramen-L'amie",
"Van den L'isle","Jansen-D'ancona","Ebboubola N'na"};
// van den Broek => Van den Broek, Derksen-Van 'T Schip => Derksen-van 't Schip In het Lid-Van De Boer => In het lid-van de boer, 'T Gilde => 't Gilde, Cramen-L'amie => Cramen-l'Amie, Van den L'isle => Van den l'Isle, Jansen-D'ancona => Jansen-d'Ancona Ebboubola N'na => Eboubola n'Na
var textInfo = new CultureInfo("en-US",false).TextInfo;
var p = @"(?:(^)|\b)(van|de[rn]?|In|het)\b|(\p{L}*)'(\p{L})\b|\b(\p{L})'(\p{L}*)";
var pattern = new Regex(p, RegexOptions.Compiled|RegexOptions.IgnoreCase);
foreach (var s in strings)
Console.WriteLine(pattern.Replace(s, m => Replacer(m, textInfo)));
Van den Broek
Derksen-van 't schip
In het Lid-van de Boer
Van den Broek
Derksen-van 't Schip
In het Lid-van de Boer
't Gilde
Cramen-l'Amie
Van den l'Isle
Jansen-d'Ancona
Ebboubola n'Na