ExcelFormulaParser.Engine.Excel.Functions.Text.Replace.Execute C# (CSharp) 메소드

Execute() 공개 메소드

public Execute ( IEnumerable arguments, ParsingContext context ) : CompileResult
arguments IEnumerable
context ParsingContext
리턴 ExcelFormulaParser.Engine.ExpressionGraph.CompileResult
        public override CompileResult Execute(IEnumerable<FunctionArgument> arguments, ParsingContext context)
        {
            ValidateArguments(arguments, 4);
            var oldText = ArgToString(arguments, 0);
            var startPos = ArgToInt(arguments, 1);
            var nCharsToReplace = ArgToInt(arguments, 2);
            var newText = ArgToString(arguments, 3);
            var firstPart = GetFirstPart(oldText, startPos);
            var lastPart = GetLastPart(oldText, startPos, nCharsToReplace);
            var result = string.Concat(firstPart, newText, lastPart);
            return CreateResult(result, DataType.String);
        }

Usage Example

 public void ReplaceShouldReturnAReplacedStringAccordingToParamsWhenStartIxIs3()
 {
     var func = new Replace();
     var result = func.Execute(FunctionsHelper.CreateArgs("testar", 3, 3, "hej"), _parsingContext);
     Assert.AreEqual("tehejr", result.Result);
 }