Trim special characters in a given string expression

DECLARE @Expression varchar(50) = '(abc)---1....2,,,,,:<3/\4>[]'

DECLARE @CharsToRemove varchar(50) = '(,)-:><./\'


SET @CharsToRemove = '%[' + REPLACE(REPLACE(@CharsToRemove, '[',''),']','') + ']%'
SET @Expression = REPLACE(REPLACE(@Expression, '[',''),']','')
SET @Expression = LTRIM(rtrim(isnull(@Expression,'')))

IF @Expression <> ''
BEGIN

WHILE PATINDEX(@CharsToRemove, @Expression) >= 1
BEGIN

SELECT @Expression = stuff(@Expression,PATINDEX(@CharsToRemove, @Expression),1,'')

END  -- while end

END -- if end

SELECT @Expression;

GO

Comments