2017-01-05 55 views
1

URLの先頭からすべてのURLを取り除くことができます(URL全体の構造に関係なく)。末尾の/)。Googleスプレッドシートの正規表現でルートドメインを抽出する


は、式1:

=trim(REGEXEXTRACT(REGEXREPLACE(REGEXREPLACE(A2,"https?://",""),"^(w{3}\.)?","")&"/","([^/?]+)")) 

これは、サブドメインを除いて、ルートドメインからすべてを取り除きここ

は、私は他のスレッドで見つかった2つの式があります。


式2:

=REGEXEXTRACT("."&A2&"/","\.([^.]+\.[^./?]+)(?:/|\?)") 

これはhttps://除いて、ルートドメインからすべてを取り除きます。


編集:私はもう少しそれをいじりてきた。式2は、https://www.http://www.を処理できますが、https:またはhttp:では処理できません。

は、ここでGシートにおける式の例のスクリーンショットです: formula

+0

おかげで、完璧に動作します。 シート1のセル値と2番目のシートの行全体の値を比較する式はありますか?次に、シート1のセル値がシート2の値と一致する場合、元のセルに背景色が追加されますか? –

+0

質問はこのスレッドのトピックではないので、私は新しいスレッドを作成しました:http://stackoverflow.com/questions/41508390/google-sheets-compare-cell-value-in-sheet-1-to-cell-values-シート内の列 –

答えて

0

多くのアプローチがここにありますが、かなり簡単です:ステップバイ

=regexextract(regexreplace(regexreplace(A1, "^[^/]*//", ""), "/.*$", ""), "[^.]+\.[^.]+$") 

ステップ:

  1. 削除^[^/]*//、これは両方のスラッシュを含むURLのプロトコル部分です。
  2. /.*$を削除します。これは、スラッシュを含む最初のスラッシュの後のすべてです。ドットで区切られた非ドット文字の最後の二つのグループである
  3. エキス[^.]+\.[^.]+$、例えば、example.com
関連する問題