iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 22
0

題目:
(5 級) Extract the domain name from a URL
請寫一個 function 接受 URL 字串,並且只回傳 domain name 字串。

範例:

"http://github.com/carbonfive/raygun"
=> "github" 

"http://www.zombie-bites.com"
=> "zombie-bites"

"https://www.cnet.com"
=> "cnet"

Ruby 解法:

def domain_name(url)
  host = url.match(/(\/\/|w{3}\.)*[a-z0-9\-]{3,}+\./)[0]
  host.gsub(/\//, "").gsub(/w{3}/, "").gsub(/\./, "")
end
  1. 先在這個網站 rubular.com 寫出能匹配的 Reqular Expression (regex)
  2. 然後 Ruby 的字串可以用這個方法 match 來抓出符合 regex 的部分
  3. 最後再用 gsub 方法把不要的部分換掉

JavaScript 解法:

function domainName(url){
  let domainName = url.match(/(\/\/|w{3}\.)*[a-z0-9\-]+\./)[0];
  return domainName.replace("//", "").replace("www", "").replace(/\./g, "")
}

JavaScript 的解法跟 Ruby 差不多,只是差在想替換掉全部的 dots (.) 時,要在 regex 後面加上 g 表示替換全部


上一篇
矩陣加法
下一篇
加起來
系列文
Codewar 進進出出 JS/Ruby30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言