変数内の重複したURLを取り除きたいです
結果として
こんにちはhttps://yahoo.co.jp/こんばんはおはようhttps://google.com/という形が変数に格納されてる状態にしたいです
下記まではできていますが、ここからどう処理していけばいいかわかりません
replaceなどを使うのか、だとしても1つ目は残し、それ以降を消すとか可能なんでしょうか
追記
当方初心者なのでアロー関数?とか、複雑なコードはわかりません
できれば、少し手を加えただけで実現できないかと考えていますが難しいでしょうか
<script> window.onload=function(){ s="こんにちはhttps://yahoo.co.jp/こんばんはhttps://yahoo.co.jp/おはようhttps://google.com/"; if(s.match(/(https?|ftp)(://[-_.!~*\'()a-zA-Z0-9;/?:\@&=+$,%#]+)/gi)){ aa=s.match(/(https?|ftp)(://[-_.!~*\'()a-zA-Z0-9;/?:\@&=+$,%#]+)/gi); a = new Set(aa); a = Array.from(a);//重複はなくなるがどうしたら元の変数を保持し、その中身の重複を消すのか? for(i=0;i<a.length;i++){ alert(a[i]);//https://yahoo.co.jp/ https://google.com/ } } } </script>
<script> window.onload=function(){ s="こんにちはhttps://yahoo.co.jp/こんばんはhttps://yahoo.co.jp/おはようhttps://google.com/"; if(s.match(/(https?|ftp)(://[-_.!~*\'()a-zA-Z0-9;/?:\@&=+$,%#]+)/gi)){ aa=s.match(/(https?|ftp)(://[-_.!~*\'()a-zA-Z0-9;/?:\@&=+$,%#]+)/gi); a = new Set(aa); a = Array.from(a); console.log(a); for(i=0;i<a.length;i++){ s=s.replace(a[i],"");//これだとこんにちはこんばんはhttps://yahoo.co.jp/おはようになってしまう } } alert(s);//こんにちはこんばんはhttps://yahoo.co.jp/おはよう } </script>
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/08 02:08
2021/11/08 02:11 編集
退会済みユーザー
2021/11/08 03:12
2021/11/08 03:37
2021/11/10 23:30
退会済みユーザー
2021/11/11 06:33 編集
退会済みユーザー
2021/11/11 04:23
退会済みユーザー
2021/11/11 13:14
退会済みユーザー
2021/11/13 00:09
退会済みユーザー
2021/11/13 18:50
退会済みユーザー
2021/11/13 18:57
退会済みユーザー
2021/11/13 19:05