Utils: Fix SplitName() for double names
All checks were successful
Test / Run tests (push) Successful in 1m46s
All checks were successful
Test / Run tests (push) Successful in 1m46s
This commit is contained in:
@ -348,7 +348,7 @@ namespace Elwig.Helpers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static (string, string?) SplitName(string fullName, string? familyName) {
|
public static (string, string?) SplitName(string fullName, string? familyName) {
|
||||||
if (familyName == null || familyName == "") return (fullName, null);
|
if (string.IsNullOrWhiteSpace(familyName)) return (fullName, null);
|
||||||
var p0 = fullName.IndexOf(familyName, StringComparison.CurrentCultureIgnoreCase);
|
var p0 = fullName.IndexOf(familyName, StringComparison.CurrentCultureIgnoreCase);
|
||||||
if (p0 == -1) return (fullName, null);
|
if (p0 == -1) return (fullName, null);
|
||||||
var p1 = fullName.IndexOf(" und ");
|
var p1 = fullName.IndexOf(" und ");
|
||||||
@ -362,8 +362,10 @@ namespace Elwig.Helpers {
|
|||||||
var p3 = fullName.LastIndexOf(' ', p2 - 1);
|
var p3 = fullName.LastIndexOf(' ', p2 - 1);
|
||||||
return (fullName[0..p3], fullName[(p3 + 1)..^0]);
|
return (fullName[0..p3], fullName[(p3 + 1)..^0]);
|
||||||
}
|
}
|
||||||
} else {
|
} else if (p0 + familyName.Length >= fullName.Length || fullName[p0 + familyName.Length] == ' ') {
|
||||||
return (familyName, fullName.Replace(familyName, "").Replace(" ", " ").Trim());
|
return (familyName, fullName.Replace(familyName, "").Replace(" ", " ").Trim());
|
||||||
|
} else {
|
||||||
|
return (fullName, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user