はじめに
Notion Formula の第19回目では正規表現以外の文字列に関するメソッドを解説します。すでに逆引き Formula のページに関数説明があるので、このページを見ながら解説していきます。
正規表現以外: join, repeat, lower, upper, substring, style, unstyle, link, split
正規表現関係: test, match, replace, replaceAll
join()
「join()」は各値の間に結合子を配置したリストの値を返します。リストに関するメソッドですが、文字列の成績に絡むものなのでこちらで解説することにしました。Formula 1.0 までは、Python の join のように区切り文字が最初の引数で、その後に文字列が続く形でした。Formula 2.0 では Ruby の join のようにリストに対して、区切り文字を渡す形に変更されました。文法は以下のようになります。
prop("list1").join(prop("delimiter"))
repeat(n)
「repeat(n)」はテキストを指定された回数繰り返します。文法は以下のようになります。
prop("arg1").repeat(n)
lower()
「lower()」はテキストを小文字に変換します。文法は以下のようになります。ASCII だけでなく、全角のアルファベットもちゃんと小文字になります。
prop("arg1").lower()
upper()
「upper()」はテキストを大文字に変換します。文法は以下のようになります。ASCII だけでなく、全角のアルファベットもちゃんと大文字になります。
prop("arg1").upper()
substr(start, end)
「substr()」は開始インデックス(含む)から終了インデックス(省略可能、含まない)までのテキストのサブ文字列を返します。end を省略した場合は末尾まで選択されます。終了の位置は含まれないことに注意してください。またリストの slice と同様に負のインデックスを与えた場合は、右から数えたインデックスになります。文法は以下のようになります。
prop("arg1").substr(start) prop("arg1").substr(start, end)
style()
「style()」は特定の入力に書式設定スタイルを追加します。使用可能なスタイルには、"b"(太字)、"u"(下線)、"i"(斜体)、"c"(コード)、"s"(取り消し線)があります。文法は以下のようになります。スタイルは引数を並べてもいいですし、リストで渡してもよいです。通常、文字色を設定した場合には背景色は設定できず、背景色を設定した場合は文字色を指定できません。この関数を使うと両方に色を付けたものも可能になります。別のテキストプロパティにコピーしても残ることがありますが、それをページの普通の文章中にコピーすると片方が消えます。
prop("arg1").style(style1, style2, ...) prop("arg1").style(list)
unstyle()
「unstyle()」は特定の入力から書式設定スタイルを削除します。スタイルが指定されていない場合は、すべてのスタイルが削除されます。以前は色の削除ですべて消えてしまうバグがありましたが、最近は直っているようです。
prop("arg1").unstyle(style1, style2, ...) prop("arg1").unstyle(list) prop("arg1").unstyle()
link()
「link()」はラベルのテキストとURLからハイパーリンクを作成します。文法は以下のようになります。
prop("label").link(prop("url"))
split()
「split()」は入力を区切り文字で分割して作成された値のリストを返します。 文法は以下のようになります。
prop("string").split(prop("delimeter")
おわりに
今回は、正規表現以外の文字列に関するメソッドを解説しました。明日は今日紹介しなかった正規表現に関する文字列メソッドを紹介します。