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); }
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); }
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); }
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); }