« ?:条件演算子の代替式(その2) | トップページ | スクリプトからExcelのマクロシートを動的に作成して実行する。 »

2008年3月21日 (金)

文字列sの右端からn文字を削除する。

複文でよいなら、

n = Len(s) - n
If n < 0 Then n = 0
s = Left(s, n)

ですが、これをひとつの式でやるには?

△ s = Left(s, Len(s) - Left(s, n))

△ s = Left(s, Len(Mid(s, n + 1)))

○ s = Left(s, Len(s) - n And Len(s) > n)

△ s = Left(s, Array(Len(s) - n, 0)((Len(s) > n) + 1))

性能的には、文字列操作などが少ない、3番目がよいでしょう。

« ?:条件演算子の代替式(その2) | トップページ | スクリプトからExcelのマクロシートを動的に作成して実行する。 »