※この翻訳ドキュメントはスクリプトによって出力・同期されています。内容が怪しそうな場合はGitHubにissueを追加したり英語の原文の確認をお願いします。

String クラスの length 属性

このページではStringクラスのlength属性について説明します。

属性の概要

length属性は文字数を返却します。

例えばABCDEFという文字列では6が返却され、あいうえおという文字列では5が返却されます。

基本的な使い方

length属性では以下のようにIntの値を返却します。

import apysc as ap

ap.Stage(
    stage_width=0,
    stage_height=0,
    background_color=ap.Color("#333"),
    stage_elem_id="stage",
)

string: ap.String = ap.String("ABCDEF")
length: ap.Int = string.length
ap.assert_equal(length, 6)

ap.save_overall_html(dest_dir_path="string_length_basic_usage_1/")

絵文字に関する特記事項

この属性はUnicodeのコードポイント数をカウントしているため、絵文字を対象とした場合に想定外の文字列を返却することがあります。

大半の絵文字は以下のように想定通りの文字数として振る舞います。

import apysc as ap

ap.Stage(
    stage_width=0,
    stage_height=0,
    background_color=ap.Color("#333"),
    stage_elem_id="stage",
)
string: ap.String = ap.String("🎉")
ap.assert_equal(string.length, 1)

string = ap.String("🥳🌟🍻")
ap.assert_equal(string.length, 3)

ap.save_overall_html(dest_dir_path="string_length_notes_1/")

しかしながら複数のコードポイントを持つ絵文字に関してはこの属性は想定外の文字数を返却します(これはPythonと同じような挙動をします):

import apysc as ap

ap.Stage(
    stage_width=0,
    stage_height=0,
    background_color=ap.Color("#333"),
    stage_elem_id="stage",
)

assert len("👨‍👩‍👦") == 5

string: ap.String = ap.String("👨‍👩‍👦")
ap.assert_equal(string.length, 5)

ap.save_overall_html(dest_dir_path="string_length_notes_2/")

length 属性のAPI

特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。

[インターフェイス概要]

文字の長さ(文字数)を取得します。


[返却値]

  • characters_length: Int

    • 文字の長さ(文字数)。


[コードサンプル]

>>> import apysc as ap
>>> _ = ap.Stage()
>>> string: ap.String = ap.String("Hello")
>>> string.length
Int(5)