/// <summary> /// /// </summary> /// <param name="referenceString">A bibTeX reference</param> /// <returns></returns> private string GetRefPart(string referenceString, RefPart part) { StringBuilder sb = new StringBuilder(); referenceString = referenceString.Substring(referenceString.IndexOf(part.ToString()) + part.ToString().Length); referenceString = referenceString.Substring(referenceString.IndexOf('{') + 1); int braces = 1, i = 0; while (braces != 0) { if (referenceString[i] == '{') { braces++; } else if (referenceString[i] == '}') { braces--; } if (braces != 0) { sb.Append(referenceString[i++]); } } return(sb.ToString()); }
/// <summary> /// /// </summary> /// <param name="referenceString">A bibTeX reference</param> /// <returns></returns> private string GetRefPart(string referenceString, RefPart part) { StringBuilder sb = new StringBuilder(); referenceString = referenceString.Substring(referenceString.IndexOf(part.ToString()) + part.ToString().Length); referenceString = referenceString.Substring(referenceString.IndexOf('{') + 1); int braces = 1, i = 0; while (braces != 0) { if (referenceString[i] == '{') { braces++; } else if (referenceString[i] == '}') { braces--; } if (braces != 0) { sb.Append(referenceString[i++]); } } return sb.ToString(); }