我为我的问题找到了这个答案,但它适用于 PHP。也许.NET 有类似的东西?我知道Split
方法,但我不明白如何在我的标签之外保存文本<@any_text@>
,我需要一个正则表达式(根据任务的条件)。
例如:
string: aaa<@bbb@>aaa<@bb@>c
list: aaa
<@bbb@>
aaa
<@bb@>
c
在这里你已经通过了测试。在网络上找到它并不难,而且对您来说肯定会更快更好 - 尝试首先自己寻找解决方案,尝试一些代码,然后提出问题。这样你就会真正学到一些东西。
[TestMethod]
public void TestMethod1()
{
string source = "aaa<@bbb@>aaa<@bb@>c";
Regex r = new Regex("(<@.+?@>)");
string[] result = r.Split(source);
Assert.AreEqual(5, result.Length);
}
string input = @"aaa<@bbb@>aaa<@bb@>c";
var list = Regex.Matches(input, @"\<.+?\>|[^\<].+?[^\>]|.+?")
.Cast<Match>()
.Select(m => m.Value)
.ToList();