대화내용에서 URL을 추출할 수 있습니다.
전처리
- 카카오톡 오픈 채팅방에서 url을 수집이 필요합니다.
1. 정규표현식을 사용해서 URL을 추출합니다.
const text = "https://www.example.com" // 입력받은 문자열
const urlRegex = /https?:\/\/[^\s]+/g; // URL패턴 정규표현식
const extracted = text.match(urlRegex) || []; // null 이라면 빈배열 할당
2. Set을 사용해서 중복을 제거합니다.
const urls = [...new Set(extracted)]
3. 도메인을 기준으로 정렬합니다.
// [array(2)] 구조
// [["example.com", ["example.com/1","example.com/2"]], [...]]
const urlGroups = new Map();
// 도메인별로 그룹화
urls.forEach((url)=> {
// 도메인 할당
const domain = new URL(url).hostname
if (urlGroups.has(domain)) {
// ["a.com", ["a.com/b", "a.com/c", "a.com/d",]]
urlGroups.get(domain).push(url);
} else {
// ["a.com", ["a.com/b"]]
urlGroups.set(domain, [url]);
}
})
// 맵에서 리스트로 변환
const urlEntries = Array.from(urlGroups.entries());
// 오른차순 정렬
urlEntries.sort((a, b) => b[1].length - a[1].length);
4. 접두사 접미사를 추가할 수 있습니다.
list.map((item, index)=>{
<li key={index}>
{prefix}
{url}
{suffix}
</li>
})
'웹' 카테고리의 다른 글
어둠의전설 체마계산기 (lod calculator) (0) | 2023.09.25 |
---|