メイン画像

VBScript - 指定した文字を指定した個数で取得する(String 関数)

VBScript - 指定した文字を指定した個数で取得する(String 関数)


指定した文字を指定した個数で取得するには String 関数を使う。

String(〈文字の個数〉, 〈文字または文字コード〉)
  • 2文字以上の文字列を指定した場合、先頭の1文字が使われる。
  • 文字コードに 256 以上を指定した場合、後述のとおり、指定値÷256 の結果(商)が使われる。
    • リファレンスには〝指定値÷256の余り(指定値 Mod 256の結果)が使われる〟とあるが、これは誤り。

text = String(5, "A")
' → AAAAA

text = String(5, 65)
' → AAAAA

text = String(5, "ABCDE")
' → AAAAA

文字コードに 256 以上を指定した場合、指定値を 256 で割った余りが使われるとあるが使われていない。
実際に使われるのは、「余り」ではなく「商」のようだ。

'321 Mod 256 で 65 が使われるはず
code = Asc(String(1, 321))
' → 1 が返された。321 ÷ 256 = 1 余り 65 → 余りではなく商が使われているよう。

'ということは 512 を指定すれば 2 になるはず
code = Asc(String(1, 512))
' → 2 が返された。

code = Asc(String(1, 768))
' → 3 が返された。

' 16640 を指定したら 65 (つまり "A")になるはず
text = String(1, 16640)
' → A が返された

アカウントを作成 して、もっと沢山の記事を読みませんか?


この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。


この記事にコメントをしてみませんか?


酒とアクアリウムが最近の楽しみ。

おすすめの記事