Good day, you can use regex pattern.
e.g.
~EmEm
","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"83","kudosSumWeight":0,"repliesCount":0,"postTime":"2024-09-18T22:37:32.501-07:00","lastPublishTime":"2024-09-18T22:37:32.501-07:00","metrics":{"__typename":"MessageMetrics","views":2415},"visibilityScope":"PUBLIC","placeholder":false,"showMoveIndicator":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:39172":{"__typename":"ModerationData","id":"moderation_data:39172","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:39172":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:5263"},"id":"message:39172","entityType":"FORUM_REPLY","eventPath":"category:platform/category:products/community:iaudz84835board:pipelines/message:39163/message:39172","revisionNum":1,"uid":39172,"depth":1,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:pipelines"},"parent":{"__ref":"ForumTopicMessage:message:39163"},"conversation":{"__ref":"Conversation:conversation:39163"},"subject":"Re: Best way to perform multiple search and replace in a string?","moderationData":{"__ref":"ModerationData:moderation_data:39172"},"body":"Hello alchemiz,
Thanks a lot for your suggestion, however I'm already using regex patterns (a few actually). More precisely, I'm looking for a way to maybe store the patterns in an associative array, and loop them all to apply them all on the same string. Having the patterns (regex and fixed strings) in an associative array would greatly help with maintenance when more patterns are required.
Example of what I mean (the real list is much longer):
{\n\"Jan.\" : \"January\",\n\"Feb.\" : \"February\",\n\"Mon.\" : \"Monday\",\n\"<sup>(.*)</sup>\" : \"\\1\",\n\"otherRegex\" : \"replace text\"\n}
Is there a way to store the strings to replace (including regex) in a structure as above and loop through it to have all the replacements done?
Thanks,
JF
","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"208","kudosSumWeight":0,"repliesCount":0,"postTime":"2024-09-19T04:15:31.674-07:00","lastPublishTime":"2024-09-19T04:15:31.674-07:00","metrics":{"__typename":"MessageMetrics","views":2400},"visibilityScope":"PUBLIC","placeholder":false,"showMoveIndicator":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"QueryVariables:MessageSolutions":{"__typename":"QueryVariables","id":"MessageSolutions","value":{"first":10,"constraints":{"topicId":{"eq":"message:39163"},"solution":{"eq":true}},"sorts":{"postTime":{"direction":"ASC"}},"useAvatar":true,"useAuthorLogin":true,"useAuthorRank":false,"useBody":true,"useKudosCount":false,"useTimeToRead":false,"useMedia":true,"useRepliesCount":false,"useSearchSnippet":false,"useAcceptedSolutionButton":true,"useSolvedBadge":false,"useAttachments":true,"useTags":false,"useUserHoverCard":false,"useNodeHoverCard":false,"usePreviewSubjectModal":false,"useMessageStatus":false}},"CachedAsset:text:en_US-components/community/NavbarDropdownToggle-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-components/community/NavbarDropdownToggle-1750955844577","value":{"ariaLabelClosed":"Press the down arrow to open the menu"},"localOverride":false},"CachedAsset:text:en_US-components/messages/EscalatedMessageBanner-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-components/messages/EscalatedMessageBanner-1750955844577","value":{"escalationMessage":"Escalated to Salesforce by {username} on {date}","viewDetails":"View Details","modalTitle":"Case Details","escalatedBy":"Escalated by: ","escalatedOn":"Escalated on: ","caseNumber":"Case Number: ","status":"Status: ","lastUpdateDate":"Last Update: ","automaticEscalation":"automatic escalation","anonymous":"Anonymous"},"localOverride":false},"CachedAsset:text:en_US-components/users/UserLink-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-components/users/UserLink-1750955844577","value":{"authorName":"View Profile: {author}","anonymous":"Anonymous"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/users/UserRank-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/users/UserRank-1750955844577","value":{"rankName":"{rankName}","userRank":"Author rank {rankName}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageTime-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageTime-1750955844577","value":{"postTime":"Published: {time}","lastPublishTime":"Last Update: {time}","conversation.lastPostingActivityTime":"Last posting activity time: {time}","conversation.lastPostTime":"Last post time: {time}","moderationData.rejectTime":"Rejected time: {time}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageSolvedBadge-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageSolvedBadge-1750955844577","value":{"solved":"Solved"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageSubject-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageSubject-1750955844577","value":{"noSubject":"(no subject)"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageBody-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageBody-1750955844577","value":{"showMessageBody":"Show More","mentionsErrorTitle":"{mentionsType, select, board {Board} user {User} message {Message} other {}} No Longer Available","mentionsErrorMessage":"The {mentionsType} you are trying to view has been removed from the community.","videoProcessing":"Video is being processed. Please try again in a few minutes.","bannerTitle":"Video provider requires cookies to play the video. Accept to continue or {url} it directly on the provider's site.","buttonTitle":"Accept","urlText":"watch"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageCustomFields-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageCustomFields-1750955844577","value":{"CustomField.default.label":"Value of {name}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageReplyButton-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageReplyButton-1750955844577","value":{"repliesCount":"{count}","title":"Reply","title@board:BLOG@message:root":"Comment","title@board:TKB@message:root":"Comment","title@board:IDEA@message:root":"Comment","title@board:OCCASION@message:root":"Comment"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageSolutionList-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageSolutionList-1750955844577","value":{"emptyDescription":"No has been message solutions yet"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageListMenu-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageListMenu-1750955844577","value":{"postTimeAsc":"Oldest","postTimeDesc":"Newest","kudosSumWeightAsc":"Least Liked","kudosSumWeightDesc":"Most Liked","sortTitle":"Sort By","sortedBy.item":" { itemName, select, postTimeAsc {Oldest} postTimeDesc {Newest} kudosSumWeightAsc {Least Liked} kudosSumWeightDesc {Most Liked} other {}}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/AcceptedSolutionButton-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-components/messages/AcceptedSolutionButton-1750955844577","value":{"accept":"Mark as Solution","accepted":"Marked as Solution","errorHeader":"Error!","errorAdd":"There was an error marking as solution.","errorRemove":"There was an error unmarking as solution.","solved":"Solved","topicAlreadySolvedErrorTitle":"Solution Already Exists","topicAlreadySolvedErrorDesc":"Refresh the browser to view the existing solution"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/common/Pager/PagerLoadMore-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/common/Pager/PagerLoadMore-1750955844577","value":{"loadMore":"Show More"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageView/MessageViewInline-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageView/MessageViewInline-1750955844577","value":{"bylineAuthor":"{bylineAuthor}","bylineBoard":"{bylineBoard}","anonymous":"Anonymous","place":"Place {bylineBoard}","gotoParent":"Go to parent {name}"},"localOverride":false},"Attachment:{\"id\":\"attachment:message39173AttachmentNumber1\",\"url\":\"https://community.snaplogic.com/t5/s/iaudz84835/attachments/iaudz84835/pipelines/15668/1/Community%2039163%20-%20multiple%20search%20and%20replace.zip\"}":{"__typename":"Attachment","id":"attachment:message39173AttachmentNumber1","filename":"Community 39163 - multiple search and replace.zip","filesize":2522,"contentType":"application/zip","url":"https://community.snaplogic.com/t5/s/iaudz84835/attachments/iaudz84835/pipelines/15668/1/Community%2039163%20-%20multiple%20search%20and%20replace.zip"},"CachedAsset:text:en_US-shared/client/components/users/UserAvatar-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/users/UserAvatar-1750955844577","value":{"altText":"{login}'s avatar","altTextGeneric":"User's avatar"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/ranks/UserRankLabel-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/ranks/UserRankLabel-1750955844577","value":{"altTitle":"Icon for {rankName} rank"},"localOverride":false},"CachedAsset:text:en_US-components/common/ExternalLinkWarningModal-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-components/common/ExternalLinkWarningModal-1750955844577","value":{"title":"Leaving the Community","description":"You're about to leave this site and navigate to an external domain. Are you sure you want to continue?","action.submit":"Continue","action.cancel":"Go Back"},"localOverride":false},"CachedAsset:text:en_US-components/attachments/AttachmentView/AttachmentViewChip-1750955844577":{"__typename":"CachedAsset","id":"text:en_US-components/attachments/AttachmentView/AttachmentViewChip-1750955844577","value":{"errorTitle":"Failed!","previewFile":"Preview File","downloadFile":"Download File {name}","removeFile":"Remove File {name}","errorBadExtension":"This file does not have a valid extension. \"{extensions}\" are the valid extensions.","errorFileEmpty":"This file is empty or does not exist.","errorTooLarge":"The maximum file size is: {maxFileSize}.","errorTooMany":"Too many attachments. The maximum number of attachments per message is: {maxAttachmentCount, number, integer}.","errorDuplicate":"This file is already attached."},"localOverride":false}}}},"page":"/forums/ForumMessagePage/ForumMessagePage","query":{"boardId":"pipelines","messageSubject":"best-way-to-perform-multiple-search-and-replace-in-a-string","messageId":"39163"},"buildId":"8CqYPsxb5UG4aoIp8lqTz","runtimeConfig":{"buildInformationVisible":false,"logLevelApp":"info","logLevelMetrics":"info","surveysEnabled":true,"openTelemetry":{"clientEnabled":false,"configName":"snaplogic","serviceVersion":"25.4.0","universe":"prod","collector":"http://localhost:4318","logLevel":"error","routeChangeAllowedTime":"5000","headers":"","enableDiagnostic":"false","maxAttributeValueLength":"4095"},"apolloDevToolsEnabled":false,"quiltLazyLoadThreshold":"3"},"isFallback":false,"isExperimentalCompile":false,"dynamicIds":["components_seo_QAPageSchema","components_community_Navbar_NavbarWidget","components_community_Breadcrumb_BreadcrumbWidget","components_messages_TopicWithThreadedReplyListWidget","components_messages_MessageListForNodeByRecentActivityWidget","components_customComponent_CustomComponent","components_community_FooterWidget","components_messages_MessageView_MessageViewStandard","components_messages_ThreadedReplyList","components_external_components_ExternalComponent","components_community_FooterWidgetHelpLink","components_community_KhorosLogo","components_messages_EscalatedMessageBanner","shared_client_components_common_List_UnstyledList","components_messages_MessageView","shared_client_components_common_Pager_PagerLoadMore","shared_client_components_common_List_ListGroup","components_messages_MessageView_MessageViewInline","components_customComponent_CustomComponentContent_TemplateContent","shared_client_components_common_List_UnwrappedList","components_attachments_AttachmentView","components_attachments_AttachmentView_AttachmentViewChip"],"appGip":true,"scriptLoader":[]}