一、StringBuilder(可变字符序列)
String对象,一旦赋值就不可改变(叫做字符串的恒定性),赋值完了之后,再对String进行拼接,赋值等,都会再内存里面重新分配一个新的内存空间,StringBuilder解决了这个问题。
方法:
Append:可以将文本或对象添加到结尾处
Capacity:设置容量和长度
Insert:添加到指定位置
AppendFormat:添加到结尾处并实现Iformattable接口
Remove:删除指定数量的字符
Replace:替换
二、发帖敏感词审核案例
1.效果图
2.实现代码
//将所有敏感词放到StringBuilder中,做正则表达式
StringBuilder sensitive = new StringBuilder();
//窗体加载
private void Form1_Load(object sender, EventArgs e)
{
//获取敏感词汇文件
string[] lines = File.ReadAllLines("1.txt",Encoding.UTF8);
foreach (string s in lines)
{
sensitive.Append(s+"|");
}
sensitive.Remove(sensitive.Length-1,1);//删除最后一个竖杠
}
//点击发表按钮事件
private void button1_Click(object sender, EventArgs e)
{
if (Regex.IsMatch(textBox2.Text.Trim(), sensitive.ToString()))//获取要发表的内容,用正则表达式判断是否有敏感词
{
MessageBox.Show("您发表的内容中包含敏感词汇,禁止发表!");
}
else
{
textBox1.Text = textBox2.Text.Trim();//不包含敏感词汇则发表成功
}
}
3.敏感词汇附件下载:敏感词附件