求高手,判断是否为字符串并提取

pm90125 2011-01-21 01:17:53
需要对.cs文件和.aspx文件进行扫描 判断是否为字符串并把该行提取出来包括代码 比如以下代码我就需要提取
MessageBox.Show("请选择要更新文件的位置");整行,

if (this.txtPath.Text == null||this.txtPath.Text=="")
{
MessageBox.Show("请选择要更新文件的位置");
}


...全文
105 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2011-01-21
  • 打赏
  • 举报
回复
Regex.IsMatch("", @"[\u4E00 - \u9FA0]+");
Regex reg = new Regex(@"[\u4e00-\u9fa5]+");
Match ma = reg.Match("");
if (ma.Success)
{}
  • 打赏
  • 举报
回复
中文根据unicode的范围来判断,具体可查一下。

说了,把找到的字符串内容存到SortedList<string, int>的数据结构里,点listBox2中的中文内容,到SortedList里找到对应的行号,然后根据行号在listbox1里找到对应的行
pm90125 2011-01-21
  • 打赏
  • 举报
回复
我现在用的是2楼的readerLine()方法 一次读一行!!然后存到arrayList中!遇到个问题是判断中文的正则杂写??

楼上 比如说 我在一个listBox1显示全部内容 在另一个listBox2显示包括中文的内容!!我点listBox2中的中文内容 那么在listBox1中会跳到对应的行!!这个怎么实现啊?
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 pm90125 的回复:]
需求改变了!!扫描完成后需要把.cs或.aspx文件所有内容显示出来..
然后再把字符串所在的行判断出来..当点击该字符串时对应的显示他在文件中第几行!
求高手!!
[/Quote]
那样的话先在某个界面里显示所有文件,然后用上面的代码找到字符串后,把行号(即数组的下标号)记录下来。
什么叫“点击该字符串时对应的显示他在文件中第几行”?
怎么算是“点击该字符串”?如果是类似visual studio里那种双击自动选中整个字符串,还不是那么简单。可能要判断出鼠标所在坐标,再判断离该坐标最近的两个空格,然后再高亮显示选中的字符串。
还要添加一些代码,在找到字符串后,复制字符串的内容,然后存到SortedList<string(字符串内容), int(行号)>的数据结构中,这样,点击选中后查表找到行号就可以了。
KissXYL 2011-01-21
  • 打赏
  • 举报
回复
if(MessageBox.Show("ok",Button.YesNo)==DialogResult.Yes)
{
string html = @"<html>
test
</html>";
}


获取什么?
  • 打赏
  • 举报
回复
可能的方法:
1.用StreamReader的ReadLine方法一次读入一行,如果内存够大,可以考虑把整个文件存成数组,每行作为一个元素
2.解析每行:
foreach (string currentLine /*当前行*/ in MyArray )//存放文件内容的数组
{
bool isString = false;
bool isEscape = false;
bool isCharLiteral = false;
for (int i = 0; i < currentLine.Length; i++)
{
switch (currentLine[i])
{
case '"':
{
if (!isEscape && !isCharLiteral)
{// 排除\" 和 '"'
isString = true;
}
break;
}
case '\\':
isEscape = true;
break;
case '\'':
if (isEscapte == false)
{
if (isCharLiteral)
{
isCharLiteral = false;
}
else
{
isCharLiteral = true;
}
}
break;
default:
break;//不关心其他字符
}
if (isString)
break;//只要找到一个字符串就行
}
if (isString)
//找到字符串,输出currentLine即可


代码未经测试。
pm90125 2011-01-21
  • 打赏
  • 举报
回复
需求改变了!!扫描完成后需要把.cs或.aspx文件所有内容显示出来..
然后再把字符串所在的行判断出来..当点击该字符串时对应的显示他在文件中第几行!
求高手!!

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧