「AKA」や「FKA」などのエイリアストークンを持つ可能性のある訴訟のキャプションを解析するエレガントな方法を探しています。エイリアス タイプと次のキャプションを取得する必要があります。私は力ずくで解決策を講じましたが、他にどのようなオプションがあるかを確認したいと思います。私はLinqが好きで、Spracheを試しましたが、頭を完全に包むことができませんでした。
Example caption:
JOHN SMITH AKA JOHN R SMITH FKA JOHNNY R SMITH
Desired output:
Alias Type Found: AKA
Alias Caption Found: JOHN R SMITH
Alias Type Found: FKA
Alias Caption Found: JOHNNY R SMITH
以下は、これまでに LinqPad でまとめたものです。
void Main()
{
var caption = "JOHN SMITH AKA JOHN R SMITH FKA JOHNNY R SMITH";
caption.Split().ParseAliases( (t,c)=>{
Console.WriteLine ("Alias Type Found: {0}",t);
Console.WriteLine ("Alias Caption Found: {0}",c);
});
}
public delegate void AliasRetrievedDelegate(string aliasType, string aliasCaption);
public static class ParserExtensions{
private static IEnumerable<string> aliasTypes = new[]{"AKA","FKA"};
public static void ParseAliases(this IEnumerable<string> tokens,
aliasRetrievedDelegate d,
int startIdx = 0){
// TODO
}
}