Visual Basic(vb.net)中如何对字符串进行处理,数据采集方案——取中间文本

2020/06/25 07:58 · VB.NET · 28阅读 · 0评论
阿里云·云小站,新老用户同享,1核2G云服务器低至89元/年,229元/3年;2核4G3M3年639元
摘要:

Visual Basic(vb.net)中对字符串处理:作为一个程序员,我们免不了对网站、已有数据包进行处理,将这些数据进行截断、排版,然而,华仔对于正则表达式的运用是不熟练的,而且也听说这个正则匹配在效率上较低,所以我向一些大神请教,并获得了一个大神写的动态链接库,可是还是有以下难题:这个动态链接库要.net4.0以上,而华仔比较喜欢用vs2008进行开发这个动态链接库并没有报错机制,而且如果遇到需要根据实际情况进行修改,那简直是噩梦所以,有一个自己的方法过程是很重要的,今天分享给大家

Visual Basic(vb.net)中对字符串处理的应用场景

作为一个程序员,我们免不了对网站、已有数据包进行处理,

将这些数据进行截断、排版,

然而,华仔对于正则表达式的运用是不熟练的,

而且也听说这个正则匹配在效率上较低,

所以我向一些大神请教,并获得了一个大神写的动态链接库,

可是还是有以下难题:

这个动态链接库要.net4.0以上,而华仔比较喜欢用vs2008进行开发

这个动态链接库并没有报错机制,而且如果遇到需要根据实际情况进行修改,那简直是噩梦

所以,有一个自己的方法过程是很重要的,今天分享给大家,大家可以做自己的动态链接库

Visual Basic(vb.net)中对字符串处理的方法及代码详解

ps:由于篇幅过长,华仔先分享两个,另外两个在我的另一篇文章中《Visual Basic(vb.net)中如何对字符串进行处理,数据采集方案——替换文本

1、取中间文本,通过前后文字进行截取

 rem 取中间文本
 rem PreStr 是原文本;StartStr 是前导文本;EndStr 是结束文本;ReplaceStr 是要替换为的文本(替换后)
 Public Function GetMiddleStr(ByVal PreStr As String, ByVal StartStr As String, ByVal EndStr As String, Optional ByVal ReplaceStr As String = "") As String
        Try
            If InStr(PreStr, StartStr) = 0 Then
                Throw New Exception("前导文本不存在")
            End If
            If InStr(PreStr, EndStr) = 0 Then
                Throw New Exception("结束文本不存在")
            End If
            Dim DealResult As String
            DealResult = Split(Split(PreStr, StartStr)(1), EndStr)(0)
            DealResult = Replace(DealResult, ReplaceStr, "")
            Return DealResult
        Catch ex As Exception
            Throw ex
        End Try
    End Function

2、取所有中间文本,通过前后文字进行截取,将所有符合项都进行呈现

Public Function GetAllMiddleStr(ByVal PreStr As String, ByVal StartStr As String, ByVal EndStr As String, Optional ByVal ReplaceStr As String = "") As String()
        Try
            If InStr(PreStr, StartStr) = 0 Then
                Throw New Exception("前导文本不存在")
            End If
            If InStr(PreStr, EndStr) = 0 Then
                Throw New Exception("结束文本不存在")
            End If
            Dim DealArr() As String
            DealArr = Split(PreStr, StartStr)
            Dim DealArrList As ArrayList = New ArrayList(DealArr)
            DealArrList.RemoveAt(0)
            Dim ReplaceArrList As New ArrayList()
            For n As Integer = 0 To DealArrList.Count - 1
                If InStr(DealArrList(n), EndStr) > 0 Then
                    DealArrList(n) = Split(DealArrList(n), EndStr)(0)
                    DealArrList(n) = Replace(DealArrList(n), ReplaceStr, "")
                Else
                        DealArrList(n + 1) = DealArrList(n) + DealArrList(n + 1)
                    ReplaceArrList.Add(DealArrList(n))
                End If
            Next
            For n As Integer = 0 To RePlaceArrList.Count - 1
                DealArrList.Remove(RePlaceArrList(n))
            Next
            Dim DealResult() As String = DealArrList.ToArray(GetType(String))
            Return DealResult
        Catch ex As Exception
            Throw ex
        End Try
    End Function

Visual Basic(vb.net)中对字符串处理的结论

有很多时候,引用别人的类库可以方便自己的开发,

但是这是针对大公司提供的类库,

因为只有这样,才能及时更新,用着才顺心,

但如果只是一些小功能,且为私人的,

建议就靠自己,方便维护,且一劳永逸。

此外,华仔之所以选择这样处理,

主要是因为对正则表达式不熟,

如果已经熟练的朋友可以忽略哈

您可能感兴趣的文章

本文地址:https://www.huazai186.com/post/104.html
文章标签:
版权声明:本文为原创文章,版权归 羽化飞翔 所有,欢迎分享本文,转载请保留出处!

文件下载

上一篇:
下一篇:
腾讯云618云聚惠活动火热进行中,1核2G-288元/3年,2核4G3M-1288元/3年,2核8G5M-1688元/3年,4核8G5M-1999元/3年

 发表评论


表情