Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法从字符串中删除特殊字符_C#_Regex_Substring_Special Characters - Fatal编程技术网

C# 无法从字符串中删除特殊字符

C# 无法从字符串中删除特殊字符,c#,regex,substring,special-characters,C#,Regex,Substring,Special Characters,背景 有一个应用程序要求用户输入将存储在数据库中的信息。然后,我有一个应用程序,每5分钟运行一次,并获取用户使用上一个应用程序输入的信息。然后,我的应用程序从数据库中获取所有信息,然后继续创建给定的文档,然后将其放在服务器中供用户获取。但是,用户开始对特定文档产生问题,其中某些功能无法正确执行。因此,我将问题标识为用户在条目应用程序中输入的字符串,在标题栏中,他们有“Jame的债券故事”,因此我的应用程序创建了文档,并且没有任何问题。因此,在调试之后,我发现了以下问题 问题 不确定特定用户是如何

背景

有一个应用程序要求用户输入将存储在数据库中的信息。然后,我有一个应用程序,每5分钟运行一次,并获取用户使用上一个应用程序输入的信息。然后,我的应用程序从数据库中获取所有信息,然后继续创建给定的文档,然后将其放在服务器中供用户获取。但是,用户开始对特定文档产生问题,其中某些功能无法正确执行。因此,我将问题标识为用户在条目应用程序中输入的字符串,在标题栏中,他们有“Jame的债券故事”,因此我的应用程序创建了文档,并且没有任何问题。因此,在调试之后,我发现了以下问题

问题

不确定特定用户是如何做的,但单引号
实际上不是单引号,而是某种其他类型的奇怪字符异常。我通过运行以下代码来证明这一点,看看是否可以删除它

 string cleanTitle = BookRec.TitleName.Replace("'","");
然而,这对我根本不起作用。然后,我将字符串分解成一个字符数组,并没有得到字符,而是得到了一个奇怪的数字。然后我开始使用这个正则表达式代码来清除每个字符,只允许数字和字母

string cleanTitle = Regex.Replace(BookRec.TitleName, "[^\\w\\. _]", "");
这已经成为一个问题,因为用户希望标题包含以下特殊字符

我正在寻找一种方法来过滤掉任何字符,包括我本周遇到的类型,并且只允许用户同意的6个字符。我可以用下面的正则表达式,但是我得到了一个空字符串

Regex fomrula = new Regex(@"^[a-zA-Z0-9_\[])(,\-.'");
然而,当我替换标题时,我得到一个空字符串。我不是regex的超级粉丝,我也很乐意使用子字符串的方法

附加信息


我无法访问将信息插入给定数据库的应用程序。我只能从数据库中读取数据,然后执行操作。

您可以尝试以下操作:

string cleanTitle = Regex.Replace(BookRec.TitleName, @"[^\u0000-\u007F]+", "");

这将替换不在这些值之间的任何Unicode字符。我不确定这些是否是导致您出现问题的原因,但希望它能给您一个正确方向的提示。

您可以尝试以下方法:

string cleanTitle = Regex.Replace(BookRec.TitleName, @"[^\u0000-\u007F]+", "");

这将替换不在这些值之间的任何Unicode字符。我不确定这些是否是导致您出现问题的原因,但希望它能给您一个正确方向的提示。

请参阅20分钟前发布的这个问题@L.B OP可能存在SQL漏洞,但他们问题的核心与SQL注入无关。OP想知道如何过滤特定字符,因为当发现意外字符时,它们的文档生成代码会失败。@maccettura请参阅此问题中的链接。这是关于为什么我们总是喜欢在SQL语句中使用参数“我无法访问将信息插入给定数据库的应用程序。我只能从数据库中读取信息,然后执行操作。”问题甚至与数据库或SQL无关,数据是按原样提供的。问题是关于修复他的替换方法。@Xiaoy312是的,你终于可以用它工作了。谢谢,这个问题今天早上被打开了一会儿,但后来又被关闭了。太遗憾了。看看20分钟前发布的这个问题@L.B OP可能有SQL漏洞,但他们问题的核心与SQL注入无关。OP想知道如何过滤特定字符,因为当发现意外字符时,它们的文档生成代码会失败。@maccettura请参阅此问题中的链接。这是关于为什么我们总是喜欢在SQL语句中使用参数“我无法访问将信息插入给定数据库的应用程序。我只能从数据库中读取信息,然后执行操作。”问题甚至与数据库或SQL无关,数据是按原样提供的。问题是关于修复他的替换方法。@Xiaoy312是的,你终于可以用它工作了。谢谢,这个问题今天早上被打开了一会儿,但后来又被关闭了。真可惜。