c# - 在文本框中查找特定单词并删除包含该单词的所有行
问题描述
我需要代码来检查单词是否存在,textBox1
如果包含该单词则删除行。
词是crosshair 1
checkBox1.checked
如果现在写一些文本,我创建了 cod ,textBox1
我只需要该代码来serach
表示单词并删除行......提前谢谢!
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ConfigMaker
{
public partial class createnew : Form
{
public createnew()
{
InitializeComponent();
saveFileDialog1.Filter = "Configuration files | *.cfg";
saveFileDialog1.DefaultExt = "cfg";
}
private void bunifuCheckbox1_OnChange(object sender, EventArgs e)
{
if (bunifuCheckbox1.Checked)
{
textBox1.Text += "crosshair 1" + "\r\n";
}
else
{
}
}
private void button1_Click(object sender, EventArgs e)
{
DialogResult result = saveFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
string name = saveFileDialog1.FileName;
File.WriteAllText(name, textBox1.Text);
}
}
private void trackBar1_Scroll(object sender, EventArgs e)
{
var value = trackBar1.Value.ToString();
label3.Text = value;
textBox1.Text += "brightness " + value + "\r\n";
}
private void name_TextChanged(object sender, EventArgs e)
{
textBox1.Text += "name " + '\u0022' + name.Text + '\u0022' + "\r\n";
}
}
}
这是createnew
表单的代码。现在我需要下一步,如果bunifucheckbox1 unchecked
存在crosshair 1
删除crosshair 1
textbox1.text
如果trackbar1.value = 0
,如果存在,则brightness "value"
删除brightness "value"
textbox1.text
如果textbox2.Text empty
,如果存在,则从中name "value"
删除。name "value"
textbox1.text
我尝试使用此代码
private void bunifuCheckbox1_OnChange(object sender, EventArgs e)
{
string crosshair = "crosshair 0";
string crosshair1 = "crosshair 1";
if (bunifuCheckbox1.Checked)
{
textBox1.Text += crosshair.Replace(crosshair, crosshair1) + "\r\n";
}
else
{
textBox1.Text += crosshair + "\r\n";
}
}
但它仍然用替换的文本创建新行......
解决方案
您实际上并没有给我们太多帮助,例如多行、单行 TextBox。
您希望在输入时、输入后、按下按钮时在什么时候测试文本?
你有没有试过String.Contains(…)
?
我建议您查看此处的 Microsoft 文档并选择一个您理解的示例,如果您仍然遇到问题,请联系我们。
编辑
如果您在尽可能少的行中更改 TextBox 中的文本,那么您可以使用String.Replace
.
的Text
属性TextBox
是一个字符串,String.Replace
如果它可以执行您要求的替换,它只会给您一个更改的字符串。
所以你的代码应该是这样的:
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
textBox1.Text = textBox1.Text.Replace("crosshair 0", "crosshair 1");
}
else
{
textBox1.Text = textBox1.Text.Replace("crosshair 1", "crosshair 0");
}
}
推荐阅读
- cordova - 如何从 Cordova iOS 插件实现 UIWebViewDelegate?
- c# - 创建/使用属性来获取会话变量 C#
- xslt - 有没有办法在 renderX (XSLT) 中的两个流段之间添加一条直线
- python - Python-数据帧循环函数解密
- tensorflow - 运行 TensorFlow label_image 示例会引发访问冲突
- angular - 如何在不使用 npm 的情况下以角度在本地托管引导程序
- vba - IE VBA打开网页等于点击第一个网页链接
- php - 在具有 polylang 支持的 wordpress 中为登录用户和来宾用户设置不同的页面
- dart - DARTFMT 搞乱了@Component 装饰器格式
- java - 如何在 HTML 页面中部署 JavaFX 应用程序?