コード例 #1
0
ファイル: StringUtil.cs プロジェクト: yuyixg/sdmap
        private static Result <string> RegularStringParse(string input)
        {
            if (input.Length < 2)
            {
                return(Result.Fail <string>($"string literial length must > 2."));
            }

            if (input.First() != input.Last())
            {
                return(Result.Fail <string>($"string literial's first and last char must be the same."));
            }

            var firstChar   = input[0];
            var escapedChar = Details.GetEscapedChar(firstChar);

            if (escapedChar.IsFailure)
            {
                return(Result.Fail <string>(escapedChar.Error));
            }

            var inner = input.Substring(1, input.Length - 2);

            return(Result.Ok(Details.EscapeNoCheck(inner, escapedChar.Value)));
        }