// 把 location 字符串变换为便于处理的形态 // 阅览室 --> /阅览室 // 海淀分馆/阅览室 --> 海淀分馆/阅览室 // #reservation,阅览室 --> /阅览室 public static string CanonicalizeLocationString(string text) { text = StringUtil.GetPureLocation(text); // 分析 strLocation 是否属于总馆形态,比如“阅览室” // 如果是总馆形态,则要在前部增加一个 / 字符,以保证可以正确匹配 map 值 // ‘/’字符可以理解为在馆代码和阅览室名字之间插入的一个必要的符号。这是为了弥补早期做法的兼容性问题 Replication.ParseCalendarName(text, out string strLibraryCode, out string strRoom); if (string.IsNullOrEmpty(strLibraryCode)) { text = "/" + strRoom; } return(text); }