ロボット引継ぎ資料(不定期)

ビズロボを使う人のための参考情報(ネタ受付中・品質非保証)

エクスプレッションの特殊文字ってなんだ(\n, \r\n, \t)

エクスプレッションで文字列を加工する際に特殊文字を使いたいのなら「””」で定数をくくれ!ということなんですが、特殊文字ってなんじゃい?って最初思いました。

たくさんロボットを作ったものの、「\n」「\r\n」「\t」位しか使ったことはありません。きっともっと複雑なことをやろうとすれば使いどころもあるんでしょうが、業務部門で作るロボットには余り難しいことまでさせる必要はないかなと思っています。

では実際どう言う場合に使うのでしょうか。 幾つか例を挙げてみようと思います。

\n (改行)の場合

インターネットで検索した情報をテキストやCSVにまとめたい場合、抽出した値をファイルに追記して行く処理を作りますが、変数入れた値だけを指定しても1行内にどんどん追記されてしまいます。 収集したデータを1行に1件書き込んでいきたい場合には、下の様に値の後ろに改行コードを指定してあげる必要があります。

f:id:kzk_pin:20181123220332p:plain

\r\n (改行2)の場合

使用ケースとしては上の\nと同じですが、例えば\nで改行させたファイルをメモ帳で開いた場合ちゃんと改行されません。 これはソフトによって改行コードの決まりが違うことに原因があるようで、そんな場合には\r\nを代わりに使うとちゃんと改行されます。

\t (タブ)の場合

業務で使うデータとしてはCSVが割と多いです。ファイルをダブルクリックすればExcelで開いてくれますし。 ただ、すでにフォーマットが決まっているExcelにリストデータをペタッと張り付けたりする場合、カンマ区切りのデータだと一つのセルの中に全部の列のデータが入ってしまいます。 そんな時、カンマの代わりにタブで列を区切ってデータを作成するとテキストをファイルごとコピーして貼り付けできるのでロボットでデータを生成する段階で\tを使ってタブ区切りのデータを作成してしまいます。

f:id:kzk_pin:20181124013959p:plain