2013-04-15 81 views
-1

我發現this回答爲我的問題,但它爲PHP。也許有一種.NET的模擬器?我知道Split方法,但我不知道如何保存我的標籤<@[email protected]>以外的文本,並且我需要一個正則表達式(通過任務的條件)。正則表達式爲字符串上的拆分文本.NET

例如:

string: aaa<@[email protected]>aaa<@[email protected]>c 

list: aaa 
     <@[email protected]> 
     aaa 
     <@[email protected]> 
     c 
+2

你能告訴我們你試過嗎? –

回答

0

在這裏,你已經通過測試。在網上找到它並不難,它對你來說肯定會更快更好 - 首先嚐試找到解決方案,嘗試一些代碼,然後提出問題。這樣你纔會真正學到一些東西。

[TestMethod] 
public void TestMethod1() 
{ 
    string source = "aaa<@[email protected]>aaa<@[email protected]>c"; 
    Regex r = new Regex("(<@[email protected]>)"); 

    string[] result = r.Split(source); 
    Assert.AreEqual(5, result.Length); 
} 
+0

非常感謝。我總是試圖找到解決辦法,但正則表達式對我來說如此複雜 – holder

+0

很酷。正則表達式不應被過度使用,但有時它們會非常方便。學習一些關於它們的東西是值得的。如果這個或任何其他答案幫助你 - 提高它並將其標記爲答案。我們都喜歡聲望;) – Pako

+0

我想投票,但我的聲望低於15.對不起。 – holder

0
string input = @"aaa<@[email protected]>aaa<@[email protected]>c"; 
var list = Regex.Matches(input, @"\<.+?\>|[^\<].+?[^\>]|.+?") 
       .Cast<Match>() 
       .Select(m => m.Value) 
       .ToList(); 
+0

即使您的解決方案是正確的 - 我更喜歡我的 - 更簡單,並按照其設計的方式完成。不過,我喜歡你的正則表達式。我永遠不會學習如何快速閱讀它們) – Pako

+0

@Pako我不能在一天之後閱讀我自己的正則表達式。因此我主要嘗試避免使用正則表達式:)對於這個問題,我只是使用**'input.Split(new char [] {'<', '>'});'**然後添加'<' and '>' – I4V

相關問題