2012-08-16 102 views
0

我需要在文档中使用REGEX和C#删除这些事件。它们是: + ------------- +(加号之间可以有任意数量的破折号) :: :(可以在冒号之间有任意数量的空格) 我无法删除独立破折号或分号,因为它们可能会出现在名称或地址:并且是必需的。我无法删除任何一边有空格的单词之间的冒号。带空格的冒号会创建我需要删除的格式。中间加上破折号创建一行或部分框,我需要删除。使用REGEX和C#删除加号,破折号,冒号使用REGEX和C#

基本上,我需要删除所有破折号在末端,包括删除的优势。我还需要删除所有包含冒号的空格,包括删除冒号。所有其他的优势和冒号需要保留。这是一个医疗文本文件,所以我需要小心。我没有任何代码可以显示你,因为我没有试过的东西已经接近工作。 感谢您的任何帮助!

+0

“我没有任何代码来告诉你,因为什么,我已经试过已接近工作“。即使它没有接近工作,你仍然可以显示你的尝试。它仍然会显示你的思维过程,并帮助我们找出任何未明确的要求。 – 2012-08-16 00:30:36

+0

尝试学习正则表达式。我使用[RadDesigns](http://www.radsoftware.com.au/regexdesigner/)[Regex cheatsheet](http://regexlib.com/CheatSheet.aspx) – 2012-08-16 01:47:36

回答

2

您可以使用下面的正则表达式与Regex.Replace

s = Regex.Replace(s, @"\+-+\+|: +:", ""); 

看到它联机工作:ideone

+0

很好用......谢谢。我还需要删除行的每一端的冒号而不删除那些bteween。以下是一段文字:姓名:NOTREALPERSON,TESTStudy日期:2012年8月15日06:01 PMBP:120/100 mmHg:我需要在姓名之前和mmHg之后删除冒号,但不能在姓名,日期或PMBP之后删除冒号。 – user1179180 2012-08-16 14:55:19

+0

如果你想快速回答,请发布一个新问题。我现在没时间了。 – 2012-08-16 16:02:01