/// <summary>
/// Removes various unwanted punctuation and comment characters from a derived reference name
/// </summary>
/// <param name="derivedName">the input reference name</param>
/// <returns>the cleaned reference name</returns>
private static string CleanDerivedReferenceName(string derivedName)
{
derivedName = WikiRegexes.PipedWikiLink.Replace(derivedName, "$2"); // piped wikilinks -> text value
derivedName = CommentOrFloorNumber.Replace(derivedName, "");
// rm comments from ref name, might be masked
derivedName = derivedName.Trim(CharsToTrim.ToCharArray());
derivedName = SequenceOfQuotesInDerivedName.Replace(derivedName, ""); // remove chars
derivedName = WhitespaceInDerivedName.Replace(derivedName, " "); // spacing fixes
derivedName = derivedName.Replace(@"–", "–");
Parsers p = new Parsers();
derivedName = p.FixDatesA(derivedName);
derivedName = p.FixDatesB(derivedName, false, false);
return DateRetrievedOrAccessed.IsMatch(derivedName) ? "" : derivedName;
}