求一政则表达式替换,谢谢

whb147 2011-07-18 02:35:06
我有一批数据,其格式为:
^^
~~狮子纪念碑~~
**狮子纪念碑(Lion Monument)是卢塞恩数一数二的雕刻作品。**
@@卡贝尔桥狮子纪念碑@@
^^
^^
~~AAAA~~
**BBBB**
@@CCCC@@
^^

有没有什么办法能把上面的字符替换成

<div>
<span class="Item1">狮子纪念碑</span>
<span class="Item2">狮子纪念碑(Lion Monument)是卢塞恩数一数二的雕刻作品。</span>
<span class="Item3">卡贝尔桥狮子纪念碑</span>
</div>
<div>
<span class="Item1">AAAA</span>
<span class="Item2">BBBB</span>
<span class="Item3">CCCC</span>
</div>

谢谢
...全文
223 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
whb147 2011-07-18
  • 打赏
  • 举报
回复
谢谢啦
qgqch2008 2011-07-18
  • 打赏
  • 举报
回复
trim()也可以的吧
蝶恋花雨 2011-07-18
  • 打赏
  • 举报
回复
应该呼叫过客。
我姓区不姓区 2011-07-18
  • 打赏
  • 举报
回复

string str = @"^^
~~狮子纪念碑~~
**狮子纪念碑(Lion Monument)是卢塞恩数一数二的雕刻作品。**
@@卡贝尔桥狮子纪念碑@@
^^
^^
~~AAAA~~
**BBBB**
@@CCCC@@
^^";
string result = Regex.Replace(str, @"(?is)\^\^(.*?)\^\^", "<div>$1</div>");
result = Regex.Replace(result, @"(?is)~~(.*?)(?=~~)~~", "<span class=\"Item1\">$1</span>");
result = Regex.Replace(result, @"(?is)\*\*(.*?)(?=\*\*)\*\*", "<span class=\"Item2\">$1</span>");
result = Regex.Replace(result, @"(?is)@@(.*?)(?=@@)@@", "<span class=\"Item3\">$1</span>");
Console.WriteLine(result);

a78782295 2011-07-18
  • 打赏
  • 举报
回复
坐等高人啊!!
whb147 2011-07-18
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 q107770540 的回复:]

C# code

void Main()
{
string str=@"^^
~~狮子纪念碑~~
**狮子纪念碑(Lion Monument)是卢塞恩数一数二的雕刻作品。**
@@卡贝尔桥狮子纪念碑@@
^^
^^
~~AAAA~~
**BBBB**
@@CCCC@@
^^";
string temp=@"<div>
<span class=""Item……
[/Quote]

如果数据不规范呢?
比如:
^^
~~AAA0~~
**BBB0**
@@CCC0@@
^^
^^
~~AAAA~~
@@CCCC@@
^^
就是说,某一项里要是少行呢?
就替换不了了。
huangwenquan123 2011-07-18
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 q107770540 的回复:]
C# code

void Main()
{
string str=@"^^
~~狮子纪念碑~~
**狮子纪念碑(Lion Monument)是卢塞恩数一数二的雕刻作品。**
@@卡贝尔桥狮子纪念碑@@
^^
^^
~~AAAA~~
**BBBB**
@@CCCC@@
^^";
string temp=@"<div>
<span……
[/Quote]猫兄这个比较好!直接定义模版,取出来替换!
jeje 2011-07-18
  • 打赏
  • 举报
回复
关注........
灵雨飘零 2011-07-18
  • 打赏
  • 举报
回复
为什么非得用正则?

For Example:

string oldstr="~~狮子纪念碑~~";

string newstr="";
newstr=oldstr.Replace("~~","");
pyrtvu 2011-07-18
  • 打赏
  • 举报
回复
Regex.Replace(text,"\*","");像这样呢就是把字符*掉,而且只弄掉一个,具体看正则表达式就明白了。
whb147 2011-07-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 q107770540 的回复:]

~ * @ 这些特殊都是神马?
[/Quote]
这些标签

就是要把这些 ~~,**,@@换成对应的<span class="Item1">
pyrtvu 2011-07-18
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/zh-cn/library/ms972966.aspx
ASP.NET 中的正则表达式
q107770540 2011-07-18
  • 打赏
  • 举报
回复
~ * @ 这些特殊都是神马?
pyrtvu 2011-07-18
  • 打赏
  • 举报
回复
查看
命名空间:System.Text.RegularExpressions
下的Regex.Replace()方法,可以处理
whb147 2011-07-18
  • 打赏
  • 举报
回复
坐等正则高人
丰云 2011-07-18
  • 打赏
  • 举报
回复
建立词典并计数,
想想应该不难,

不过现在多半是用正则处理了,
等正则高人吧
Joop_Song 2011-07-18
  • 打赏
  • 举报
回复
坐等兔子党!
  • 打赏
  • 举报
回复
有意思,占座关注。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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