过滤输入字符串

时间:2011-05-14 13:28:31

标签: c# sql sqlite

当我将数据插入表格时,我遇到了问题过滤字符串。我的意思是' <之类的特殊字符,我可以做简单的替换,但我需要保存原始的字符序列。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果您希望通过代码更改字符串,可以指定要从字符串中删除的字符数组。 String.Join可以使用split方法删除这些字符并将其重新组合在一起

    string s = "He<llo;< I -am a $stri-ng;";

    // Add other characters that you deem unacceptable
    char[] invalidChars = { ';', '<', '>', '-' };
    s = String.Join("", s.Split(invalidChars));

在保存原始序列方面,这是非常模糊的,所以我不确定你的意思,但是我想到的是使用数据库并创建第二列,以便你有一个用于输入的内容,另一个是固定值。我有两种控制方式来控制这个

  1. 数据库触发器 - 设计一些功能去除字符并保存到 固定值列。这样做的风险在于,如果有人决定键入你没有被困的角色,你不仅会修改这个功能,而且必须对任何滑落的记录运行这个功能

  2. 计算栏规格 - 基于要剥离的函数创建表达式 字符并让列控制此值 这足以抵消通过触发器增加的风险。修改函数时,因为这是一个计算列,理论上它会更新该值。 (纠正我,如果我在这里错了,没有在理论上进行测试)

  3. 可能不是最有效的方法,但这是我将使用我当前的工具集。