みやもとメモ

「Notion」「Google Apps Script」「ブログカスタマイズ」などについて書いていきます。

目次
目次

【Notion】タイトルプロパティから余計な文字列を除外する(replace関数を活用)(読書記録Notion)

この記事をシェアする

今回は「タイトルプロパティから余計な文字列を除外する」に関して書いていきます。

以前も同じような記事を書いているのですが、ちょっと違った除外方法を書いてみます(以前の記事はこちら)。

miya-moto-memo.hatenablog.com

上記の記事は正規表現を活用した除外方法でした。
今回の記事は正規表現を活用せず、replace関数を活用して愚直に除外していく方法を書いてみます。

また、上記の記事は映画記録Notionに対するカスタマイズでした。
今回の記事は読書記録Notionに対してカスタマイズします。

それではサクッと本題へ。

変更前後(画像)

まずは手っ取り早く、変更前後の画像を貼ります。

変更前

変更前

変更後

変更後

変更前は「感想」「レビュー」「試し読み」「読書メーター」など、余計な文字列が含まれています。
別にそのままでも良いですし、1件1件手作業で削除する方法でも良いかもしれません。

ただ、件数が多いです。
また、除外したい文字列はある程度決まった文言なので愚直に除外していくことにしました。

変更後が除外した状態です。
本タイトルのみになり、スッキリした表示になっているかなと思います。

ちなみにタイトルが折り返さないようになったのは、数式を使用した影響です。
これに関しては、別記事にて詳しく書いているのでリンクしておきます。
こちらも良ければぜひ。

miya-moto-memo.hatenablog.com

なぜタイトルに余計な文字列が?

Save To Notion」というChrome拡張機能を使ってデータ登録している影響で、余計な文字列が含まれてしまいます。

「Save To Notion」のデータ登録イメージ

上記の画像が、「Save To Notion」のデータ登録イメージです。
タイトルに余計な文字列が含まれてしまいます(画像の赤枠)。
ちなみに、「読書メーター」のページをNotionに登録することが多いです。

余計な文字列が気になるなら「Save To Notion」を使わなければ良いだけの話なのですが、「Save To Notion」を使うとデータ登録がかなり楽になるので手放せないんですよね。登録件数もかなり多いですし。

設定手順

タイトルプロパティから不要な文字列を除外する設定手順を書いていきます。

記事の冒頭でも触れたように、今回は正規表現でなくreplace関数を活用して愚直に除外していきます。

プロパティ(数式)を追加

まずはテーブルビューにて、プロパティ(数式)を1つ追加します。

STEP
「+」をクリック

STEP
「数式」を選択

STEP
プロパティ名を変更する
※この辺はお好みで

STEP
「編集」をクリックし、「数式」を入力していく

STEP
以下の数式をコピペして、「完了」をクリック
※数式の詳細については後述します
数式
prop("タイトル")
.replace("感想","")
.replace("レビュー","")
.replace("試し読み","")
.replace("本のあらすじ","")
.replace("読書メーター","")
.replaceAll("・","")
.replace(" - ","")
.replace("|","")
.style("b")

ギャラリービューでプロパティの表示対象を変更

次に、ギャラリービューで先ほど追加した「タイトル(数式)」プロパティを表示対象にします。

STEP
「プロパティ」をクリック

STEP
以下の操作を実施
・「タイトル」を非表示にする
・「タイトル(数式)」を表示する

これで完了です。

数式について

数式について、詳しく書いてみます。
上記手順に載せた数式を改めて貼ります。

数式
prop("タイトル")
.replace("感想","")
.replace("レビュー","")
.replace("試し読み","")
.replace("本のあらすじ","")
.replace("読書メーター","")
.replaceAll("・","")
.replace(" - ","")
.replace("|","")
.style("b")

使用している関数

使用している関数は

  • replace
  • replaceAll
  • style

の3つです。

関数 説明
replace 正規表現の最初の一致を置換値に置き換えます。
replaceAll 正規表現のすべての一致を置換値に置き換えます。
style テキストに書式や色を設定します。
有効な書式設定スタイルには、"b"(太字)、"u"(下線)、"i"(斜体)、"c"(コード)、"s"(取り消し線)があります。

詳しくはNotion公式ページを見て頂ければと。
※以下リンクの「関数」の見出しに詳細が書かれています。

www.notion.so

数式の説明

改めて数式を貼ります。

数式
prop("タイトル")
.replace("感想","")
.replace("レビュー","")
.replace("試し読み","")
.replace("本のあらすじ","")
.replace("読書メーター","")
.replaceAll("・","")
.replace(" - ","")
.replace("|","")
.style("b")

「replace関数」と「style関数」について、それぞれ説明していきます。

「replace関数」について

除外したい文字列を愚直に「replace関数」で繋げて書いています。

先ほどの「Save To Notion」のデータ登録イメージの画像を改めて貼ります。
上記の数式で余計な文字列が除外できることが分かるかなと思います。

「Save To Notion」のデータ登録イメージ

もし除外されていない文字列を見つけたら、また「replace関数」を追記すれば良いだけです。

1点ポイントを挙げるとしたら、”・”は何度か登場するので「replaceAll関数」を使用しています。
他の文字列は基本1度しか登場しないはずなので「replace関数」を使用しています。

登場回数を気にせずに全て「replaceAll関数」を使用しても良いのかもしれませんが、なんとなくそこはキッチリしたいなと。

「style関数」について

スタイルの適用は

スタイルの適用
style("b")

の部分です。

これに関しては前回の記事と同様です。
重複した内容を書くのもアレなので、そちらをリンクしておきます。

関連記事

本タイトルの文字列を除外してしまう場合も

”・”を除外対象にしているため、「イン・ザ・プール」は「インザプール」になってしまいます。
でもまぁ…このくらいは良いかなと。

イン・ザ・プール」が「インザプール」になってしまう

おわりに

ということで、「タイトルプロパティから余計な文字列を除外する」に関してアレコレ書いてみました。

正規表現を活用せず、replace関数を活用して愚直に除外していく方法を書いてみました。

正規表現は複雑になりがちです。
また、自分が書いた正規表現であっても、しばらくすると忘れてしまいます。
しばらくして正規表現を修正しようと思っても、イチから思い出すような感じになってしまいます。

それに対して今回の除外方法なら、replace関数を足したりするだけなので理解しやすいですし、修正しやすいなと。

この設定手順が参考になれば幸いです。

関連記事

Notionデータベースのカスタマイズに関してはいくつか記事にしています。
気になる記事があればぜひ。

TOPへ戻る HOMEへ