日期:2014-05-19  浏览次数:21149 次

怎么过滤字符串中的特定字符
我想过滤  
      =       delete       update       select       or       =               这些字符      
在过滤   delete   update   这些字符的时候,把单个字符也过滤掉了,即输入,d   ,e,a等也提示错误。
该怎么改?



------解决方案--------------------
indexOf( "delete ")
------解决方案--------------------
str_Regex =@ "(delete)+(update)+(select)+(or)+(=)+ "
------解决方案--------------------
使用正则表达式,因为如果d,e,a通不过验证的话,那么“= delete update select or = ”这句必然无法通过验证。
所以代码很简单。。。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;

namespace 控件测试
{
public partial class wingStopToData : Form
{
public wingStopToData()
{
InitializeComponent();
}

private void wingStopToData_Load(object sender, EventArgs e)
{

}

Regex r1 = new Regex(@ "[a,A,d,D,e,E] ");

private void button1_Click(object sender, EventArgs e)
{
textBox1_KeyDown(null, null);
}

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
label1.Text = r1.IsMatch(textBox1.Text).ToString();
}
}
}

自己写的一个窗体。里面有一个textbox,一个label和一个button。

重点在于:

using System.Text.RegularExpressions;


Regex r1 = new Regex(@ "[a,A,d,D,e,E] ");

label1.Text = r1.IsMatch(textBox1.Text).ToString();

这三句。。