FindTokens() public static method

public static FindTokens ( string text ) : IEnumerable
text string
return IEnumerable
コード例 #1
0
ファイル: Transformer.cs プロジェクト: jawn/Storyteller
        public string Transform(Topic current, string before)
        {
            var tokens = Token.FindTokens(before).ToArray();

            if (!tokens.Any())
            {
                return(before);
            }

            var builder  = new StringBuilder();
            var position = 0;

            tokens.Each(token =>
            {
                if (token.FirstIndex > position)
                {
                    builder.Append(before.Substring(position, token.FirstIndex - position));
                }

                var handler = _handlers[token.Key];
                builder.Append(handler.Transform(current, token.Data));

                position = token.LastIndex + 1;
            });

            if (position < before.Length)
            {
                builder.Append(before.Substring(position));
            }

            return(builder.ToString());
        }