我需要一种从富文本框中分割字符串的方法,该文本框包含一些"标记"像这样:
<Name>Peter<Type>ABC<Date>20171112
结果,我想要一些看起来像这样的东西:
Name
Type
Date
我不需要标签之间的值。我只需要<
和>
个字符内的代码名称。我不太确定如何解决这个问题。
答案 0 :(得分:1)
模式(?<=<)[^>]+(?=>)
将适用于此。例如:
Dim input As String = "<Name>Peter<Type>ABC<Date>20171112"
Dim pattern As String = "(?<=<)[^>]+(?=>)"
Dim result() As String = Regex.Matches(input, pattern).
Cast(Of Match).
Select(Function(m) m.Value).
ToArray()
以下是对其工作原理的概述:
(?<=<)
- 后面断言匹配必须以<
字符开头[^>]+
- 匹配所有文字,直到下一个>
字符(?=>)
- 前瞻断言匹配必须后跟一个尾随的>
字符答案 1 :(得分:0)
您可以使用\<(.*?)\>
:
Dim input = "<Name>Peter<Type>ABC<Date>20171112"
Dim result As String() = Regex.Matches(input, "\<(.*?)\>").Cast(Of Match)().
Select(Function(m) m.Value.Trim("<"c, ">"c)).
ToArray()