Outlook メールの件名として使用する文字列をフィルター処理しようとしています。フィルタ b/c を使用すると、特殊文字を含む一部の文字列によって件名が Unicode に変換されますが、これを防止したいと考えています。私は PATINDEX を使用しようとしていますが、括弧をパターンに入れることができません。これを行う方法を知っている人や、PATINDEX のパターンを作成するためのガイドを共有するのに適したサイトを持っている人はいますか? ここに私が持っているものがあります:
-- First replaces special characters with similar safe ones.
-- Finally excludes all other characters not specified in the pattern.
-- =============================================
ALTER Function [dbo].[RemoveSpecialCharacters](@Temp VarChar(1000))
Returns VarChar(1000)
AS
BEGIN
DECLARE @KeepValues as varchar(50)
SET @Temp = Replace(Replace(Replace(Replace(Replace(Replace(Replace(@Temp,'”','"'),'“','"'),'‘','`'),'’','`'),'–','-'),'[','('),']',')')
SET @KeepValues = '%[^a-z0-9()."`:;,#&+*\/-]%'
WHILE PatIndex(@KeepValues, @Temp) > 0
SET @Temp = Stuff(@Temp, PatIndex(@KeepValues, @Temp), 1, '')
RETURN @Temp
END
ご覧のとおり、パターンで括弧を取得する方法がわからなかったので、今のところ括弧に置き換えています。