MATLAB: 文字列から改行を削除するには

MATLABでは文字列から改行コードを削除するコマンドは用意されていないらしい。 (mlreportgen.utils.normalizeStringというコマンドがあることはあるのだが、MATLAB Report Generatorというツールボックスのコマンドである。改行コードの削除のためだけに、MATLAB Report Generatorのライセンスを使いたくない場合はあると思う。)

Rubyではhoge.chompなどで改行コードが削除できるのだが…。(class String (Ruby 3.2 リファレンスマニュアル))

調べた範囲だと、愚直にregexprepを使うか、eraseコマンドに正規表現パターンを指定するか、などを使うことになる。

regexprepは、かなり直感的に使えるので普通はこちらを使うのが良さそうだ。 eraseだと正規表現パターンを作成する必要があるので、タイピング量を増やすことを厭わないマゾっ気の自覚がある人が使う感じがする。

str_ex = "hoge" + newline + "fuga";

pat = regexpPattern("\n");
str_ex_2 = erase(str_ex, pat);
str_ex_3 = regexprep(str_ex, "\n", "");

fprintf("%s\n", str_ex)
fprintf("%s\n", str_ex_2)
fprintf("%s\n", str_ex_3)

MATLABの文字列の扱いは少し複雑なようで、文字列に改行を入れるには”\n”を追加するのではなく、newlineコマンドを使う。

Adsense広告