Antlr4.StringTemplate.Misc.Utility.ReplaceEscapedRightAngle C# (CSharp) Method

ReplaceEscapedRightAngle() public static method

public static ReplaceEscapedRightAngle ( string s ) : string
s string
return string
        public static string ReplaceEscapedRightAngle(string s)
        {
            StringBuilder buf = new StringBuilder();
            int i = 0;
            while (i < s.Length)
            {
                char c = s[i];
                if (c == '<' && s.Substring(i).StartsWith("<\\\\>"))
                {
                    buf.Append("<\\\\>");
                    i += "<\\\\>".Length;
                    continue;
                }

                if (c == '>' && s.Substring(i).StartsWith(">\\>"))
                {
                    buf.Append(">>");
                    i += ">\\>".Length;
                    continue;
                }

                if (c == '\\' && s.Substring(i).StartsWith("\\>>") &&
                    !s.Substring(i).StartsWith("\\>>>"))
                {
                    buf.Append(">>");
                    i += "\\>>".Length;
                    continue;
                }

                buf.Append(c);
                i++;
            }

            return buf.ToString();
        }