diff --git a/frontend/src/container/QueryBuilder/filters/QueryBuilderSearch/utils.ts b/frontend/src/container/QueryBuilder/filters/QueryBuilderSearch/utils.ts index 1859254fc4..d00a9d3fad 100644 --- a/frontend/src/container/QueryBuilder/filters/QueryBuilderSearch/utils.ts +++ b/frontend/src/container/QueryBuilder/filters/QueryBuilderSearch/utils.ts @@ -117,9 +117,15 @@ export function replaceStringWithMaxLength( array: string[], replacementString: string, ): string { - const lastSearchValue = array.pop() ?? ''; // Remove the last search value from the array - if (lastSearchValue === '') return `${mainString}${replacementString},`; // if user select direclty from options - return mainString.replace(lastSearchValue, `${replacementString},`); + const lastSearchValue = array.pop() ?? ''; + if (lastSearchValue === '') { + return `${mainString}${replacementString},`; + } + const updatedString = mainString.replace( + new RegExp(`${lastSearchValue}(?=[^${lastSearchValue}]*$)`), + replacementString, + ); + return `${updatedString},`; } export function checkCommaInValue(str: string): string {