首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

C#截取字符串中始末

2012-07-02 
C#截取字符串中首尾正在做一个标签替换的功能,情况有点复杂。[Fsx.List:TabelNameadmin,IsPagetrue,ShowP

C#截取字符串中首尾
正在做一个标签替换的功能,情况有点复杂。

[Fsx.List:TabelName=admin,IsPage=true,ShowPageNum=true] 说明:(里面属性个数不确定)

 内容...

[/Fsx.List]

有两个问题:

一、请问怎么截取[Fsx.List...][/Fsx.List]之间的内容,条件是[Fsx.List...]中的属性个数不确定,有时多有时少;

二、页面中可出现一个或多个[Fsx.List:][/Fsx.List]标签该如何循环截取[Fsx.List...][/Fsx.List]之间的内容(也就是问题一,有多个[Fsx.List:][/Fsx.List]时怎么截取之间的内容)。谢谢!


[解决办法]
1. 正则:
 str=Regex.Match(yourstr,"(?is)\[Fsx\.List.*?\](.*?)\[/Fsx\.List\]").Groups[1].Value;
2.
foreach(Match m in Regex.Matches(yourstr,"(?is)\[Fsx\.List.*?\](.*?)\[/Fsx\.List\]"))
{
//m.Gropus[1].Value就是你想要的
}
[解决办法]
1、用正则能够给解决你的问题
(?is)(?<=\[Fsx\.List:[^[]*?\]).*?(?=\[/Fsx\.List\])

C# code
string str= @"[Fsx.List:TabelName=admin,IsPage=true,ShowPageNum=true] 说明:(里面属性个数不确定) 内容...[/Fsx.List]";string pattern=@"(?is)(?<=\[Fsx\.List:[^[]*?\]).*?(?=\[/Fsx\.List\])";str=Regex.Match(str,pattern).Value;
[解决办法]
[/Fsx.List]";
string pattern=@"(?is)(?<=\[Fsx\.List:[^[]*?\]).*?(?=\[/Fsx\.List\])";
str=Regex.Match(str,pattern).Value;

热点排行