如何获取页面中特定格式的字符串

P_Zoo 2010-03-31 11:07:32
在一个页面中有很多{$_Type:abc;Num:3;}这种格式的东西
怎么获取到?
...全文
131 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
whb147 2010-03-31
  • 打赏
  • 举报
回复
你要分析格式
就你给一个字符串,没有代表性
要给一堆字符串,
然后才能找出共同的
然后才能制作方案

如果格式固定,且有规律,用正则表达式最快
详情见百度
P_Zoo 2010-03-31
  • 打赏
  • 举报
回复
怎么筛选啊?
Peter200694013 2010-03-31
  • 打赏
  • 举报
回复
帮顶

(可以用正则表达式筛选吧...)
P_Zoo 2010-03-31
  • 打赏
  • 举报
回复
呃。。。没有人知道么。。
P_Zoo 2010-03-31
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 wuyazhe 的回复:]
最后回复一次

C# code

public void testRegex04()
{
string yourStr = @"{$_Type:head_news;Num:3;}
我实在不知道你遇到的文本长什么样,只好自己随便加点文字表示一下了。是这个样子么?你不能吧整个网页贴出来么?或是贴网址
{testpar:head_bbs;Char:……
[/Quote]
实在抱歉 现在看懂了
不是我不想放页面 实在是没有页面
兔子-顾问 2010-03-31
  • 打赏
  • 举报
回复
最后回复一次

public void testRegex04()
{
string yourStr = @"{$_Type:head_news;Num:3;}
我实在不知道你遇到的文本长什么样,只好自己随便加点文字表示一下了。是这个样子么?你不能吧整个网页贴出来么?或是贴网址
{testpar:head_bbs;Char:4;}";
MatchCollection lines = Regex.Matches(yourStr, "{[^{}]+}");
foreach (Match line in lines)
{
MatchCollection mc = Regex.Matches(line.Value, "(?<=[{;])(?<name>[^:]+):(?<value>[^:;}]+)(?=[;}])");
foreach (Match m in mc)
{
//新手楼主,m.Groups["value"].Value就是你要的内容,你爱转什么格式随便你自己,正则返回的是字符串,
//如果要int就转int,其他就其他,int vn = int.Parse(m.Groups["value"].Value);
MessageBox.Show("name\tvalue" + Environment.NewLine +
m.Groups["name"].Value + "\t" + m.Groups["value"].Value);
}
}


再看不懂就让其他高人点化你好了。我手钝。
P_Zoo 2010-03-31
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 lost_painting 的回复:]
先说下你的参数都是什么吧
这样才好匹配.

而且 {$_Type:参数1;Num:参数2;} 是一次匹配两个,放入一个二维数组,还是一个一个放入一个一维数组?
[/Quote]
方法名是string的 参数是int类型的
P_Zoo 2010-03-31
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wuyazhe 的回复:]
你为什么这么吝啬贴出例子呢?就你贴的这个{$_Type:参数1;Num:参数2;}我给你的正则无法获取到你要的内容么?你要的是什么格式。你不能写个例子么?你想要什么,你没有表达清楚。我说的你明白了么?
比如:
看看人家发的帖子。
http://topic.csdn.net/u/20100331/09/4de14398-d4a4-4979-9244-3418d13579ca.html
[/Quote]
呃。。我语言组织能力不是很好。。
我以为这就是例子了。。。
拿这个说吧{$_Type:head_news;Num:3;}
Type后面的是我要调用的方法名 Num后面的是参数
但是这些是写在前台页面的 我想获取它们然后在后台使用
这些就是写在body中间的
把所有{$_Type:head_news;Num:3;}都放进一个数组里面
鸭梨山大帝 2010-03-31
  • 打赏
  • 举报
回复
先说下你的参数都是什么吧
这样才好匹配.

而且 {$_Type:参数1;Num:参数2;} 是一次匹配两个,放入一个二维数组,还是一个一个放入一个一维数组?
兔子-顾问 2010-03-31
  • 打赏
  • 举报
回复
你为什么这么吝啬贴出例子呢?就你贴的这个{$_Type:参数1;Num:参数2;}我给你的正则无法获取到你要的内容么?你要的是什么格式。你不能写个例子么?你想要什么,你没有表达清楚。我说的你明白了么?
比如:
看看人家发的帖子。
http://topic.csdn.net/u/20100331/09/4de14398-d4a4-4979-9244-3418d13579ca.html
P_Zoo 2010-03-31
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wuyazhe 的回复:]
怎么叫不行,你这一句回复,你看看我给你的回复多认真,正则工具里测试,写代码,调试运行,结果和我想的一样。你提问的人一点不认真。
1.你根本没给个完整的例子,就一行,那一行我的程序难道给出结果不同?
2.你要保存成什么格式?

你自己要求都没说,我给你写个这样完整正确的,你一句话不行就敷衍了?我回答问题的人还没敷衍你,你提问的人态度这么差?
[/Quote]
抱歉
我没有敷衍的意思 我有测试的
我是在一个页面里面有很多{$_Type:参数1;Num:参数2;}这种格式的
然后我想获取到这整个句或者里面的参数放进数组
兔子-顾问 2010-03-31
  • 打赏
  • 举报
回复
怎么叫不行,你这一句回复,你看看我给你的回复多认真,正则工具里测试,写代码,调试运行,结果和我想的一样。你提问的人一点不认真。
1.你根本没给个完整的例子,就一行,那一行我的程序难道给出结果不同?
2.你要保存成什么格式?

你自己要求都没说,我给你写个这样完整正确的,你一句话不行就敷衍了?我回答问题的人还没敷衍你,你提问的人态度这么差?
P_Zoo 2010-03-31
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wuyazhe 的回复:]
C# code

private void button1_Click(object sender, EventArgs e)
{
string yourStr = @"{$_Type:参数1;Num:参数2;}
test line text
{testpar:参数3;Char:参数4;}";
MatchCollecti……
[/Quote]
这种方法不行呢
兔子-顾问 2010-03-31
  • 打赏
  • 举报
回复

private void button1_Click(object sender, EventArgs e)
{
string yourStr = @"{$_Type:参数1;Num:参数2;}
test line text
{testpar:参数3;Char:参数4;}";
MatchCollection lines = Regex.Matches(yourStr, "{[^{}]+}");
foreach (Match line in lines)
{
MatchCollection mc = Regex.Matches(line.Value, "(?<=[{;])(?<name>[^:]+):(?<value>[^:;}]+)(?=[;}])");
foreach (Match m in mc)
{
MessageBox.Show("name\tvalue" + Environment.NewLine +
m.Groups["name"].Value + "\t" + m.Groups["value"].Value);
}
}
}
P_Zoo 2010-03-31
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lixiaolian7 的回复:]
格式是这样。那么你是想取出该格式下的参数1和参数2?
[/Quote]

对的
取出来放在数组里
P_Zoo 2010-03-31
  • 打赏
  • 举报
回复
我是要冲页面代码中查询出这些并且放到一个数组中
大腹 2010-03-31
  • 打赏
  • 举报
回复
格式是这样。那么你是想取出该格式下的参数1和参数2?
P_Zoo 2010-03-31
  • 打赏
  • 举报
回复
{$_Type:参数1;Num:参数2;}
都是这种形式的

110,538

社区成员

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

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

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