gpt4 book ai didi

c# - String.Replace 和 Regex.Replace 不适用于 IComparer 中的特殊字符

转载 作者:太空宇宙 更新时间:2023-11-03 19:11:25 28 4
gpt4 key购买 nike

以下控制台应用程序运行良好:

class Program
{
static void Main(string[] args)
{
string plainx = "‘test data’ random suffix";
plainx = Regex.Replace(plainx, @"‘", string.Empty);
Console.WriteLine(plainx);
}
}

但是它在 ASP.Net 应用程序中给我带来了麻烦。我附上了 VS 调试监 window 口和即时窗口的屏幕截图

(点击查看大图)
enter image description here

如您所见,Immediate Window 中的 Regex.Replace 有效 - 但不知何故它在代码中不起作用(第 71 行)。我也使用过 String.Replace 但没有成功。

编辑似乎存储在数据库中的值与编辑器显示的值不同……有点奇怪……enter image description here

最佳答案

你真的检查过被比较的文本吗?它包含哪些 Unicode 代码点?

您的代码显示您试图替换字形 '‘',这是一个左“引号”。字符的名称是左单引号,其代码点是 0x2018(又名 '\u2018')。这是您通常无法在键盘上输入的字符。

您可能看到的是字形 '`',一个“反引号”。它的字符名称是 GRAVE ACCENT,它的代码点是 0x0060(又名 '\u0060')。这是您在标准美式键盘(数字行最左边的键)上按 [unshifted] 波浪键时键入的字符。

当然,它可能是许多其他字符中的任何一个,其字形类似于单引号。参见 Commonly Confused Characters获取更多信息。

关于c# - String.Replace 和 Regex.Replace 不适用于 IComparer 中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20338394/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com