1

文字列が渡され、正規表現を使用してその文字列からWebアドレスを削除する関数(VB.net内)が必要です。さまざまな形式のURLを処理できる必要があります。例:

http://www.mysite.com
https://www.mysite.com
www.mysite.com
http://mysite.co.uk/mypage.htm

また、WebURLを含むアンカータグをすべて削除する必要があります。

基本的に、URLの前にhttp(または)が付いていることを期待してはならず、また、またはhttpsが存在することも期待してはなりません。www..com

次に、この関数は、Webアドレスが削除されていても、元の文字列を返します。

これまでのところ、私が思いついたのは次のことだけです(ただし、これはアンカータグ内に含まれるURLには対応していません)。スペースだけで区切られた2つのURLを配置すると、1つが残ることに気付きました。彼ら。

<Extension()> _
    Public Function ReplaceWebUrls(ByVal s As String) As String
        s = " " + s + " "

        s = Regex.Replace(s, "([\s])(www\..*?|http://.*?)([\s])", " ")
        s = Regex.Replace(s, "([\s])(https://.*?)([\s])", " ")

        Return s.Trim()
    End Function

VB.netは私が普段使っているものではありませんが、この場合は選択の余地がなく、正規表現は私の強みではありません:(

4

1 に答える 1

1

正規表現パターンを使用

\b(?:https?://|www\.)\S*

また

(?:(?<=\s)|^)(?:https?://|www\.)\S*

各一致を空の文字列に置き換えます。

于 2012-10-04T14:13:02.857 に答える