5.3.1 Common String Operations

Last-modified: 2025-03-21 (金) 20:31:28

5.3.1 一般的な文字列操作

次の関数は、一般的な文字列操作を実行するのに役立ちます。

: y = lower (s)

: y = tolower (s)

文字列またはセル文字列sのコピーを返します。各大文字は対応する小文字に置き換えられます。アルファベット以外の文字は変更されません。

For example:

lower ("MiXeD cAsE 123")
   ⇒ "mixed case 123"

プログラミング ノート:tolowerは のエイリアスでありlower、どちらの名前も Octave で使用できます。

See also: upper.

: y = upper (s)

: y = toupper (s)
v文字列またはセル文字列sのコピーを返します。各小文字は対応する大文字に置き換えられます。アルファベット以外の文字は変更されません。

例えば:

upper ("MiXeD cAsE 123")
   ⇒ "MIXED CASE 123"

プログラミング ノート:toupperは のエイリアスでありupper、どちらの名前も Octave で使用できます。

See also: lower.

: s = deblank (s)

sから末尾の空白と null を削除します。

sが行列の場合、 deblank は各行を最長文字列の長さにトリミングします。s が文字列のセル配列の場合、各文字列要素を再帰的に操作します。

Examples:

deblank ("    abc  ")
    ⇒  "    abc"
deblank ([" abc   "; "   def   "])
    ⇒  [" abc  " ; "   def"]

See also: strtrim.

: s = strtrim (s)

sの先頭と末尾の空白を削除します。

sが行列の場合、 strtrim は各行を最長文字列の長さにトリミングします。s が文字列のセル配列の場合、各文字列要素に対して再帰的に操作します。

例えば:

strtrim ("    abc  ")
    ⇒  "abc"
strtrim ([" abc   "; "   def   "])
    ⇒  ["abc  "  ; "  def"]

See also: deblank.

: s = strtrunc (s, n)

文字列s を長さnに切り捨てます。

sが文字行列の場合、列数は調整されます。

sが文字列のセル配列の場合、各セル要素に対して操作が実行され、新しいセル配列が返されます。

: str = untabify (t)

: str = untabify (t, tw)

: str = untabify (t, tw, deblank)

t内のタブ文字をスペースに置き換えます。

入力tは、2 次元文字配列または文字列のセル配列のいずれかになります。出力は入力と同じクラスになります。

タブの幅はtwで指定され、デフォルトは 8 です。

オプション引数deblankが true の場合、文字データの末尾からスペースが削除されます。

次の例では、ファイルを読み取り、末尾のスペースを削除した同じファイルの非タブ化バージョンを書き込みます。

fid = fopen ("tabbed_script.m");
text = char (fread (fid, "uchar")');
fclose (fid);
fid = fopen ("untabified_script.m", "w");
text = untabify (strsplit (text, "\n"), 8, true);
fprintf (fid, "%s\n", text{:});
fclose (fid);

See also: strjust, strsplit, deblank.

: newstr = do_string_escapes (string)

文字列内のエスケープ シーケンスを、それが表す文字に変換します。

エスケープ シーケンスは先頭のバックスラッシュ ( '\') で始まり、その後に 1 ~ 3 文字が続きます (例: "\n"=> 改行)。

See also: undo_string_escapes.

: newstr = undo_string_escapes (string)

文字列内の特殊文字をエスケープされた形式に戻します。

For example, the expression

bell = "\a";

警告文字 (control-g、ASCII コード 7) の値を文字列変数に割り当てますbell。この文字列が印刷されると、システムは端末ベルを鳴らします (可能な場合)。これは通常、望ましい結果です。ただし、特殊文字をエスケープ シーケンスに置き換えた文字列の元の表現を印刷できると便利な場合があります。たとえば、
octave:13> undo_string_escapes (bell)
ans = \a
印刷できない警告文字を印刷可能な表現に置き換えます。

See also: do_string_escapes.