我想用C#实现跟在文本里查找字符串差不多的功能,例如。有一个文本文件k.txt
我想用C#在里面找字符串“B”,里面有三字B,当找到第一个“B”时,就弹出对话窗口。找到第二个“B”时,也弹出对话窗口,找到第三个“B”时也弹出对话窗口。
具体代码怎样实现呢。希望各路高手帮帮
是具体代码啊,,,,,,晕啊
谁把实现以上的例子的代码给我,我把分给谁,不用扯到这么远的。说得一大串我都看晕了
C#在文本中查找字符串
答案:6 悬赏:20 手机版
解决时间 2021-03-05 02:00
- 提问者网友:喧嚣尘世
- 2021-03-04 21:46
最佳答案
- 五星知识达人网友:你哪知我潦倒为你
- 2021-03-04 22:48
using System.Text.RegularExpressions;
string str = System.IO.File.ReadAllText("c:/k.txt");
Regex reg = new Regex("B");
Match mat = reg.Match(str);
while(mat.Success)
{
MessageBox.Show(mat.Index.ToString());//位置
mat = reg.Match(str, mat.Index+mat.Length);
}
string str = System.IO.File.ReadAllText("c:/k.txt");
Regex reg = new Regex("B");
Match mat = reg.Match(str);
while(mat.Success)
{
MessageBox.Show(mat.Index.ToString());//位置
mat = reg.Match(str, mat.Index+mat.Length);
}
全部回答
- 1楼网友:春色三分
- 2021-03-05 02:21
应该用index索引吧 但具体操作我不知道怎么实现 你也可以一个一个的找过去的
- 2楼网友:一秋
- 2021-03-05 01:57
算法思路:
首先你要把所要查找的文本域定位到,比如用string类型存储,另外再定义一个string类型的变量来临时存储找到的字符串,当点击button的时候处理事件遍历文本域匹配字符串并赋值给临时变量,然后输出临时变量就可以了
我已经给你写好了加了注释,用05写的,需要的话给我发邮件要吧,mail:350560615@qq.com
- 3楼网友:摆渡翁
- 2021-03-05 00:52
private void buttonFindNext_Click(object sender, EventArgs e)
{
string source;
string finding;
if (this.cb_size.Checked == false)
{
source = ef.notepad_text.Text.ToLower();
finding = this.txt_findwhat.Text.ToLower();
}
else
{
source = ef.notepad_text.Text;
finding = this.txt_findwhat.Text;
}
int temp = source.IndexOf(finding, ef.notepad_text.SelectionStart +
ef.notepad_text.SelectionLength);
if (temp >= 0)
{
ef.notepad_text.Select(temp, finding.Length);
//当屏幕显示不了时,实现滚动
ef.notepad_text.ScrollToCaret();
// 把鼠标的焦点放在查找的字符串上
ef.Focus();
// 说明找到了需要替换的字符串
findFlag = true;
}
else
{
MessageBox.Show("找不到" + "'" + this.txt_findwhat.Text + "'");
findFlag = false;
}
}
- 4楼网友:愁杀梦里人
- 2021-03-04 23:28
都有用正则表达式的了啊........
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamReader sr = new StreamReader(openFileDialog1.FileName, Encoding.Default);
string s = "";
int i = 0;
s = sr.ReadLine();
foreach (char c in s)
{
if (c == 'B')
{
i++;
MessageBox.Show("fine "+i);
}
}
}
}
有一个openFileDialog
一个button
你自己看吧
我就在那个文本里写了一句话"BSBSB"
成功找到了3个B
每找到一个就show一个messageBox
............
- 5楼网友:零点过十分
- 2021-03-04 23:15
这很简单 首先你定义一个int型的变量,用于记录所找到的字符串的位置,然后再读取那个文本文件赋值给一个字符串变量,然后利用字符串的 IndexOf 方法去查找,它返回的是所找到的 指定字符的位置,它有两个参数,一个是要查找的字符(也可以是字符串),一个是从哪里开始查起,默认的是从0开始,当找到一个目标时,就把当前位置赋值给那个int型变量,如果要继续查询的话,就从那个位置加1开始再查,直到IndexOf方法返回-1,就表示查询不到指定的字符了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯