Extract domain from text in Mandarin: Difference between revisions

From LemonWiki共筆
Jump to navigation Jump to search
No edit summary
No edit summary
Line 21: Line 21:
說明:
說明:
# 網域指以 <nowiki>http://</nowiki> 或 <nowiki>https://</nowiki> 開頭,與相臨不是符號 {{kbd | key = <nowiki>/</nowiki>}} 的多個文字:{{kbd | key = <nowiki>[^/]+</nowiki>}}。
# 網域指以 <nowiki>http://</nowiki> 或 <nowiki>https://</nowiki> 開頭,與相臨不是符號 {{kbd | key = <nowiki>/</nowiki>}} 的多個文字:{{kbd | key = <nowiki>[^/]+</nowiki>}}。
== 資料驗證:文章內容是否包含網域 ==
原始資料包含網域,但是網域前面不包含 http e.g. tw.news.yahoo.com 或 www.bbc.co.uk。使用 Google 試算表 [https://support.google.com/docs/answer/3098292?hl=zh-Hant REGEXMATCH] 函數,符合正規表示法的規則的話,回傳 TRUE。若不符合,則回傳 FALSE。 {{exclaim}} 以下語法未處理 [https://zh.wikipedia.org/wiki/IPv4 IPv4] 形式的網域。(如果網域前面包含 http ,則可直接搜尋關鍵字: regular expression extract host )
<pre>
=IF(ISERROR(REGEXMATCH(A1, "([a-zA-Z0-9\-_\\._~\:\/\?#\[\]@\!\$&'\(\)\*\+,;\=%]+\.[a-zA-Z]{2,}$|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})")), FALSE, REGEXMATCH(A1, "([a-zA-Z0-9\-_\\._~\:\/\?#\[\]@\!\$&'\(\)\*\+,;\=%]+\.[a-zA-Z]{2,}$|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})"))
</pre>
輸入1:
<pre>
www.bbc.co.uk
</pre>
輸出1:
<pre>
TRUE
</pre>
輸入2:
<pre>
127.0.0.0
</pre>
輸出2:
<pre>
TRUE
</pre>
輸入3:
<pre>
Yahoo! 新聞
</pre>
輸出3:
<pre>
FALSE
</pre>
不建議的其他方法:
* 檢查網域結尾是否是 .com, .tw, .net, .org 因為太多要列舉,該方法沒有效率。


[[Category: Regular expression]] [[Category: Data Science]] [[Category: String manipulation]]
[[Category: Regular expression]] [[Category: Data Science]] [[Category: String manipulation]]

Revision as of 15:22, 28 March 2025

從文章內容,擷取網址中的網域部分

🌐 Switch language: English, 漢字


使用 Google sheet 擷取網域

使用 Google 試算表 REGEXEXTRACT 函數

=REGEXEXTRACT(A1, "(http[s]?\://[^/]+)")

輸入:

Yahoo! 新聞 https://tw.news.yahoo.com/abc

輸出:

https://tw.news.yahoo.com

說明:

  1. 網域指以 http:// 或 https:// 開頭,與相臨不是符號 / 的多個文字:[^/]+


資料驗證:文章內容是否包含網域

原始資料包含網域,但是網域前面不包含 http e.g. tw.news.yahoo.com 或 www.bbc.co.uk。使用 Google 試算表 REGEXMATCH 函數,符合正規表示法的規則的話,回傳 TRUE。若不符合,則回傳 FALSE。 Icon_exclaim.gif 以下語法未處理 IPv4 形式的網域。(如果網域前面包含 http ,則可直接搜尋關鍵字: regular expression extract host )

=IF(ISERROR(REGEXMATCH(A1, "([a-zA-Z0-9\-_\\._~\:\/\?#\[\]@\!\$&'\(\)\*\+,;\=%]+\.[a-zA-Z]{2,}$|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})")), FALSE, REGEXMATCH(A1, "([a-zA-Z0-9\-_\\._~\:\/\?#\[\]@\!\$&'\(\)\*\+,;\=%]+\.[a-zA-Z]{2,}$|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})"))

輸入1:

www.bbc.co.uk

輸出1:

TRUE

輸入2:

127.0.0.0

輸出2:

TRUE

輸入3:

Yahoo! 新聞

輸出3:

FALSE

不建議的其他方法:

  • 檢查網域結尾是否是 .com, .tw, .net, .org 因為太多要列舉,該方法沒有效率。