2011-07-26 100 views
4

早些时候,我曾与一个用户的帮助,告诉我如何尖括号内取出一个字符串内文本此用户提出删除\ n和\”我接受了以下内容:需要从字符串里

var a = "some text follows<p><p>Give the following test text:</p>" 
var newString = Regex.Replace(a, @"<(.|\n)*?>", string.Empty); 

现在我意识到人们只是多一点我需要删除。望着字符串我在最后一个字符串仍然可以看到的内容反斜杠n和反斜线双引号。\ n和\”的某些情况下

是有一个简单的办法,我可以通过上述正则表达式中加入一些更重要的删除出现在我的字符串\ n和\”的任何实例。理想的情况下?

+1

HTML与正则表达式解析下山滑坡。 – BrokenGlass

+0

你想从标签内或全身消除这种额外的文本?这些值不会出现在“a”中。你接受了其他答案吗? – Jodrell

+0

你见过这个http://www.wellho.net/regex/java.html –

回答

-1

我打得周围rubular.com以及与此想出了一个正则表达式。您可以继续添加使用垂直管作为分隔符额外的检查:

<(.|\n)*?>|\\n|\\" 

所以,你的代码应该是这样的(尽管你可能需要逃避的正则表达式额外的双引号):

var a = "some text follows<p><p>Give the \n following \"test\" text:</p>" 
var newString = Regex.Replace(a, @"<(.|\n)*?>|\\n|\\"", string.Empty); 
+0

我认为它的工作好只是一个太多的反斜杠 – Barcino

+0

酷,我没有验证码本身,只要是正则表达式,很高兴它的工作! –

3

如果你使用String.Replace功能

myString.Replace("\n", ""); 
myString.Replace("\\"", ""); 

不能在你身边做这个工作?

+1

不要忘记,你可以链接在一起,并且你需要将结果bck赋值给你的变量,如下所示:'myString = myString.Replace(“\ n”,“” ).Replace( “\\””, “”);' – ZombieSheep

+1

看看你的正则表达式。现在回到字符串替换。现在回到你的正则表达式。现在回到字符串替换。可悲的是,这不是一个字符串替换,但如果你停止了复杂的事情,并使用基本的解决方案,它可能会喜欢这个。往下看,备份。你在哪?你坐在可读,可维护的代码前面。你手里拿着什么,回到我身边。我拥有它,这是轻松和放松。再看看,轻松和放松现在是你的。当你停止对像这样的简单问题过度使用正则表达式时,任何事情都是可能的。我在椅子上。 – doppelgreener

0

希望这有助于

newString.Replace("\"","").Replace("\n",""); 

仍然会尽力去做正则表达式的方法。

+0

-1不幸的重复的答案。此外,第一个字符串只会在解析后读取为单引号。 – doppelgreener