Exemplo n.º 1
0
        public List <ConversionItemList> CreateConversionItemLists(string searchText, string replacementText = "",
                                                                   bool caseSensitive         = false,
                                                                   List <VbStrConv> vbstrConv = null,
                                                                   bool useRegex     = false,
                                                                   bool wholeWord    = false,
                                                                   bool strConv      = false,
                                                                   bool toLower      = false,
                                                                   bool toUpper      = false,
                                                                   bool placeHolder  = false,
                                                                   bool tagPair      = false,
                                                                   bool embeddedTags = false)
        {
            var search = new SearchText()
            {
                Text          = searchText,
                CaseSensitive = caseSensitive,
                UseRegex      = useRegex,
                WholeWord     = wholeWord,
                StrConv       = strConv,
                VbStrConv     = vbstrConv,
                TagPair       = tagPair,
                EmbeddedTags  = embeddedTags
            };

            var replacement = new ReplacementText()
            {
                Text        = replacementText,
                ToLower     = toLower,
                ToUpper     = toUpper,
                Placeholder = placeHolder,
            };

            var list = new ConversionItemList();

            list.Items = new List <ConversionItem>()
            {
                new ConversionItem()
                {
                    Search      = search,
                    Replacement = replacement
                }
            };

            var lists = new List <ConversionItemList>()
            {
                list
            };

            return(lists);
        }
Exemplo n.º 2
0
        public static string RegexReplace(this string original, string search, ReplacementText replacement, bool isCaseSensitive,
                                          MatchEvaluator strConv = null)
        {
            var result = string.Empty;

            // Regex uses current culture by default

            if (isCaseSensitive)
            {
                if (replacement.ToLower)
                {
                    result = Regex.Replace(original, search, m => m.Value.ToLower());
                }
                else if (replacement.ToUpper)
                {
                    result = Regex.Replace(original, search, m => m.Value.ToUpper());
                }
                else if (strConv != null)
                {
                    result = Regex.Replace(original, search, strConv);
                }
                else
                {
                    result = Regex.Replace(original, search, replacement.Text);
                }
            }
            else
            {
                if (replacement.ToLower)
                {
                    result = Regex.Replace(original, search, m => m.Value.ToLower(), RegexOptions.IgnoreCase);
                }
                else if (replacement.ToUpper)
                {
                    result = Regex.Replace(original, search, m => m.Value.ToUpper(), RegexOptions.IgnoreCase);
                }
                else if (strConv != null)
                {
                    result = Regex.Replace(original, search, strConv, RegexOptions.IgnoreCase);
                }
                else
                {
                    result = Regex.Replace(original, search, replacement.Text, RegexOptions.IgnoreCase);
                }
            }

            return(result);
        }
Exemplo n.º 3
0
        public void RegexReplaceCaseSensitiveToUpperReturnsMatch()
        {
            // Arrange
            var original    = "make the first letter of every word capitalized";
            var search      = @"\b[a-z]{1}";
            var replacement = new ReplacementText()
            {
                ToUpper = true
            };

            // Act
            var result = original.RegexReplace(search, replacement, true);

            // Assert
            Assert.Equal("Make The First Letter Of Every Word Capitalized", result);
        }
Exemplo n.º 4
0
        protected virtual string GetReplacementValue(EventInfo eventInfo)
        {
            string text = string.Empty;

            if (UseMessageValue)
            {
                text = GetValue(eventInfo);
            }
            else
            {
                if (SourceMessageValueType != MessageValueType.Text && SourceIdentifier != null)
                {
                    switch (SourceMessageValueType)
                    {
                    case MessageValueType.Json:
                        text = (Text?.GetText(eventInfo.Variables) ?? text).GetJsonValue(SourceIdentifier.GetText(eventInfo.Variables)) ?? string.Empty;
                        break;

                    case MessageValueType.Xml:
                        text = (Text?.GetText(eventInfo.Variables) ?? text).GetXmlValue(SourceIdentifier.GetText(eventInfo.Variables)) ?? string.Empty;
                        break;
                    }
                }
                else
                {
                    text = Text?.GetText(eventInfo.Variables) ?? text;
                }
            }

            if (PromptValue)
            {
                text = GetPromptValue(eventInfo, PromptDescription.GetText(eventInfo.Variables), text);
            }

            if (UseReplace && ReplacementText != null)
            {
                Regex regex = new Regex(RegexPattern.GetText(eventInfo.Variables));
                text = regex.Replace(text, ReplacementText.GetText(eventInfo.Variables));
            }
            return(text);
        }