当前位置: 首页 > 知识库问答 >
问题:

如何替换字符串中的所有特殊字符

司马耘豪
2023-03-14

我有一个包含以下列的表:

dbo.SomeInfo
  - Id
  - Name
  - InfoCode
Update  dbo.SomeInfo
Set InfoCode= REPLACE(Replace(RTRIM(LOWER(Name)),' ','-'),':','')
Cathe Friedrich''s Low Impact
coffeyfit-cardio-box-&-burn
Jillian Michaels: Cardio

然后,我手动将更新sql编写为

 Update dbo.SomeInfo
 SET InfoCode= 'cathe-friedrichs-low-impact'
 where Name ='Cathe Friedrich''s Low Impact '

现在,这个解决方案对我来说并不现实。我查看了以下与Regex相关的链接和它周围的其他链接。

  • 更新和替换字符串的一部分
  • https://www.codeproject.com/questions/456246/replace-special-characters-in-sql
Sleek Technique™
The Dancer's-workout®

我如何编写能够处理所有这些特殊字符的更新sql?

共有1个答案

通安宁
2023-03-14

使用ngrams8k可以将字符串拆分为字符,然后不替换所有不可接受的字符,只保留某些字符:

SELECT (SELECT '' + CASE WHEN N.token COLLATE Latin1_General_BIN LIKE '[A-z0-9]'THEN token ELSE '-' END
        FROM dbo.NGrams8k(V.S,1) N
        ORDER BY position
        FOR XML PATH(''))
FROM (VALUES('Sleek Technique™'),('The Dancer''s-workout®'))V(S);

我在这里使用collate,就像在我的实例中的默认排序规则一样,'™'被忽略,因此我使用二进制排序规则。您可能希望使用collate将字符串切换回子查询之外的原始排序规则。

 类似资料:
  • 问题内容: 我正在使用urllib从网站获取html字符串,并且需要将html文档中的每个单词放入列表中。 这是我到目前为止的代码。我不断收到错误消息。我还复制了以下错误。 这是错误。 问题答案: str.replace是您要执行的操作错误的函数(除了使用不正确之外)。您想用空格代替集合的任何字符,而不是用单个空格代替整个集合(后者是replace的作用)。您可以使用以下翻译: 这将创建一个映射,

  • 我有下一个字符串: 我想替换所有出现的,问题是当有特殊字符(例如: 可以由任何< code >字符串替换。 有什么办法可以解决这个问题吗?

  • 如何用单个字符替换n/重复字符?所有特殊字符

  • 问题内容: 我该如何更换: “ã”和“ a” “é”和“ e” 在PHP中?这可能吗?我读过某处我可以使用基本字符的ascii值和重音符号的ascii值进行一些数学运算,但是现在找不到任何参考。 问题答案: 这个答案是不正确的。 编写它时,我不理解Unicode规范化。查看francadaval的评论和链接 签出Normalizer类来执行此操作。文档很好,所以我将其链接起来,而不是在这里重复:

  • 我想在java中将所有“特殊字符”替换为特殊字符 例如“现金” 我有一个示例CSV文件 这里的CSV标题是“What”和“Where” 预期产出 示例代码如下 所有特殊字符、所有空格和双引号都应删除并替换为所需的输出。 我使用的是值。replaceAll(“[^A-Za-z0-9]”,“”),但它不工作。 错误 感谢您的帮助。regex的新成员。

  • 问题内容: 我正在读csv到: 我想用空字符串替换该行的第8个元素中的所有匹配项。该功能不起作用。 有一个更好的方法吗? 问题答案: 问题是您对的结果不做任何事情。在Python中,字符串是不可变的,因此任何处理字符串的操作都将返回新字符串,而不是修改原始字符串。