我试图在两个字符串之间获取所有文本
第一个str: <p style="text-align: justify;">
第二个str: </p>
像这样的文字:
<p style="text-align: justify;">aaaaa</p><p style="text-align: justify;">ddddd</p><p style="text-align: justify;">bbbbb</p>
我想要输出
aaaa
dddd
bbbbb
等等
我试过这个功能,但不知道如何循环它..
Public Function GetClosedText(ByVal source As String, ByVal opener As String, ByVal closer As String) As String
Dim indexOfOpener = source.IndexOf(opener)
Dim result As String = ""
If indexOfOpener >= 0 Then ' default is -1 and indices start with 0
indexOfOpener += opener.Length ' now look behind the opener
Dim indexOfCloser = source.IndexOf(closer, indexOfOpener)
If indexOfCloser >= 0 Then
result = source.Substring(indexOfOpener, indexOfCloser - indexOfOpener)
Else
result = source.Substring(indexOfOpener) ' takes the rest behind the opener
End If
End If
Return result
结束功能
3 回答
使用正则表达式:
<p[^>]*>(?<TEXT>[^<]*)<\/p>
<p[^>]*>
匹配标签内的文字和标签<p >
(?<TEXT>[^<]*)
找到标签之间的字符串并将其命名为group "TEXT"<\/p>
匹配转义标记<\p>
Regex demo
您可以使用正则表达式查找
<p>
标记之间的文本 . 您想要的正则表达式模式应检测>
和<
之间的 words . 因此,您可以使用此:(\w+)(?=<)(?!>)
?= 意味着应该遵循这一点
?! 表示应该在此之前
\w+ 表示两者之间的一个或多个字母 .
这是一个示例代码,用于将每个匹配的文本打印到
Console
:如果你想了解字符串操作