Extract the domain name from a URL ( 5 kyu )
문제
Write a function that when given a URL as a string, parses out just the domain name and returns it as a string. For example:
domainName("http://github.com/carbonfive/raygun") == "github"
domainName("http://www.zombie-bites.com") == "zombie-bites"
domainName("https://www.cnet.com") == "cnet"
도메인의 이름만 뽑아 리턴하는 문제
풀이
function domainName(url){
let arr = url.split('.');
if ( arr[0].includes('www') ) return arr[1];
if ( !arr[0].includes('http') ) return arr[0];
return arr[0].slice(arr[0].indexOf('//')+2, arr[0].length);
}
.을 기준으로 배열로 잘라 www가 있으면 1번 인덱스 리턴
http가 없으면 0번 인덱스 리턴
나머지는 //를 기준으로 잘라 리턴
다른 사람의 풀이
function domainName(url){
return url.match(/(?:http(?:s)?:\/\/)?(?:w{3}\.)?([^\.]+)/i)[1];
}
정규식이 있을 것 같았는데 따라는 못하겠다