VB.NET文本字符串截取
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Imports System.Text
Imports System.IO
''' <summary>
''' 文本分割类
''' </summary>
''' <remarks></remarks>
Public Class FiltKeyWord
''' <summary>
''' 截取文本的内容,从起始字符串到结尾之间的内容
''' </summary>
''' <param name="Content">文本内容</param>
''' <param name="Key">开始字符串</param>
''' <param name="FiltPos">分割的位置,StartPos从1到分割符,EndPos从分割符到结尾</param>
''' <param name="FiltTypes">返回的值是否带分割字符串</param>
''' <param name="ReTypes">字符串不存在时要返回的内容</param>
''' <returns>返回截取的部份</returns>
''' <remarks></remarks>
Public Shared Function FiltKey(ByVal Content As String, ByVal Key As String, ByVal FiltPos As PosTypes, Optional FiltTypes As FiltTypes = FiltTypes.NoFilt, Optional ReTypes As Retypes = Retypes.ReturnAll) As String
Dim KeyLen As Integer
Dim Values As String
If InStr(Content, Key, CompareMethod.Text) > 0 Then
If FiltPos = PosTypes.StartPos Then
If FiltTypes = FiltTypes.NoFilt Then
KeyLen = InStr(Content, Key, CompareMethod.Text) - 1
Values = Mid(Content, 1, KeyLen)
Else
KeyLen = InStr(Content, Key, CompareMethod.Text) + Key.Length - 1
Values = Mid(Content, 1, KeyLen)
End If
Else
If FiltTypes = FiltTypes.NoFilt Then
KeyLen = InStr(Content, Key, CompareMethod.Text) + Key.Length
Values = Mid(Content, KeyLen)
Else
KeyLen = InStr(Content, Key, CompareMethod.Text)
Values = Mid(Content, KeyLen)
End If
End If
Else
If ReTypes = ReTypes.ReturnAll Then
Values = Content
Else
Values = ""
End If
End If
Return Values.Trim
End Function
''' <summary>
''' 截取文本的内容,截取从起始字符串到结束字符串之间的内容
''' </summary>
''' <param name="Content">章节页面内容</param>
''' <param name="StartKey">开始字符串</param>
''' <param name="EndKey">结束字符串</param>
''' <param name="FiltTypes">返回的值是否带分割字符串</param>
''' <param name="ReTypes">字符串不存在时要返回的内容</param>
''' <returns>返回截取的章节内容</returns>
''' <remarks></remarks>
Public Shared Function FiltKey(ByVal Content As String, ByVal StartKey As String, ByVal EndKey As String, Optional FiltTypes As FiltTypes = FiltTypes.NoFilt, Optional ReTypes As Retypes = Retypes.ReturnAll) As String
Dim StartKeyLen, EndKeyLen As Integer
Dim Values As String
StartKeyLen = InStr(Content, StartKey, CompareMethod.Text)
EndKeyLen = InStr(StartKeyLen + StartKey.Length, Content, EndKey, CompareMethod.Text)
If StartKeyLen > 0 And EndKeyLen > 0 Then
If FiltTypes = FiltTypes.NoFilt Then
StartKeyLen = InStr(Content, StartKey, CompareMethod.Text) + StartKey.Length '获得起始字符串的位置,再加上本身
EndKeyLen = InStr(StartKeyLen, Content, EndKey, CompareMethod.Text) - StartKeyLen
Else
StartKeyLen = InStr(Content, StartKey, CompareMethod.Text)
EndKeyLen = InStr(StartKeyLen + StartKey.Length, Content, EndKey, CompareMethod.Text) - StartKeyLen + EndKey.Length
End If
Values = Mid(Content, StartKeyLen, EndKeyLen)
Else
If ReTypes = ReTypes.ReturnAll Then
Values = Content
Else
Values = ""
End If
End If
Return Values.Trim End Function
End Class。