求正则表达式

飞起来一脚 2008-07-17 08:31:42
某字符串mystring,形如:
"\r\n\0\0\0\0\0\0一警察望着被烧毁的公安大楼\r\n\0\0\0\0\0\贵州瓮安,一警察望着被烧毁的公安大楼 \r\n\0\0\0\0\0\0当事人受访 瓮安官员“全陪”\r\n\0\0\0\0\0\0当地政府部门组织十几名老师在网上反击谣言\r\n\0\0\0\0\0\0提供给记者的《简报》被有意过滤..."

这个字符串实际很长的,这里仅仅是小部分

汉字部分是变化的
我要取删除“一警察望着被烧毁的公安大楼”之前的所有字符,也就是一堆\r\n\0...
并且在“一警察望着被烧毁的公安大楼”之后追加\r\n

我的做法是
string a = "\\r\\n(\\0)+[^\x00-\xff]*\\r\\n";
string b = "[^\\x00-\\xff]";
int c_start,c_end;
Match m1 =Regex.Match(mystring,a); //
Match m2 = Regex.Match(mystring, b);
c_start=m2.Index;
c_end=m1.Length;
mystring.Insert(c_end, "\\r\\n");//没起作用
mystring.Remove(0, c_start);//没起作用
操作完后发现字符串mystring一点变化没有,但使用code architects regex tester测试正则表达式匹配了,这是怎么回事啊,各位老大帮忙,急死了。
...全文
67 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
manbufenglin 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dk385 的回复:]
C# codestring p = @"^[\\r\\n\s\\0]+([^\x00-\xff]+)";
string str= Regex.Replace(mystring, p, "$1\r\n",RegexOptions.IgnoreCase);
[/Quote]
----------
可以~
karrylinux 2008-07-17
  • 打赏
  • 举报
回复
帮顶
家鸣 2008-07-17
  • 打赏
  • 举报
回复
string p = @"^[\\r\\n\s\\0]+([^\x00-\xff]+)";
string str= Regex.Replace(mystring, p, "$1\r\n",RegexOptions.IgnoreCase);


conan304 2008-07-17
  • 打赏
  • 举报
回复
这个可以么?呵呵
mystring.Replace(@"\0","")

110,896

社区成员

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

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

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