获取指定字符串中间的字符串

Lidew 2010-11-25 03:40:25
要获取
"\ul\f0\fs22 123456\cf0\ulnone \cf1\ul 456789\cf0\ulnone"这个字符串中\ul与\ulnone之间的字符串,即
"\f0\fs22 123456\cf0"," 456789\cf0\"
...全文
163 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2010-11-25
  • 打赏
  • 举报
回复

void Main()
{
string str = @"\ul\f0\fs22 123456\cf0\ulnone \cf1\ul 456789\cf0\ulnone";
foreach(Match m in Regex.Matches(str, @"(?<=\\ul)[^none].*?(?=\\ulnone)"))
{
Console.WriteLine(m.Value);
};

}

/*
\f0\fs22 123456\cf0
456789\cf0

*/
Lidew 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sprc_lcl 的回复:]
C# code
string str = @"\ul\f0\fs22 123456\cf0\ulnone \cf1\ul 456789\cf0\ulnone";
string pstr = @"(?<=\\ul(?!none)).+?(?=\\ulnone)";
MatchCollection mc = Regex.Matches(str, p……
[/Quote]

谢谢
chinawes 2010-11-25
  • 打赏
  • 举报
回复
笨方法就是可以先按\ul字符用split方法把字符串放到数组中,然后再遍历数组截取字符串。
sprc_lcl 2010-11-25
  • 打赏
  • 举报
回复
        string str = @"\ul\f0\fs22 123456\cf0\ulnone \cf1\ul 456789\cf0\ulnone";
string pstr = @"(?<=\\ul(?!none)).+?(?=\\ulnone)";
MatchCollection mc = Regex.Matches(str, pstr);
for (int i = 0; i < mc.Count; i++)
{
Response.Write(mc[i].Value);
}

110,532

社区成员

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

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

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