Tips というより開発時に調べた Script 等を忘れないように書き留めた覚え書きです。
最近はここに書き留めておくことも忘れている始末で、我ながら情けなく思う今日この頃です。
ということで、不定期更新というか最近更新していませんが、JavaScript や VBScript などを紹介していきますのでご参考になれば幸いです。
関数 Left、Right、Mid を Substring にする
Left関数やMid関数をSubstring関数に置き換えられるけど、Right関数は?
文字数が足らないとエラーになるけど、いちいち文字数確認しないといけないの?
このやり方が正しいかどうかわかりませんし、もっと良い方法があるのかもしれませんが、工夫してみました。
記載日:2023年 9月11日
Left関数をSubstring関数に置き換える
左から4文字を切り取る
Dim str As String str = "1234567890" 'Left関数 str = Strings.Left(str, 4) '結果:1234 'Substring関数 '1文字目(0から数える)から4文字 str = str.Substring(0, 4) '結果:1234
しかし文字数が切り取る文字数より少ない場合エラーになります
Dim str As String str = "123" 'Left関数 str = Strings.Left(str, 4) '結果:123 'Substring関数 str = str.Substring(0, 4) '結果:エラー
方法1.文字数を確認してから切り取る
Dim str As String str = "123" 'Substring関数 If str.Length >= 4 Then str = str.Substring(0, 4) End If '結果:123
方法2.PadRight関数で半角スペースを末尾に付加して切り取った後、Trim関数でスペースを削除する
Dim str As String str = "123" 'Substring関数 str = str.PadRight(4).Substring(0, 4).Trim() '結果:123
Mid関数をSubstring関数に置き換える
3文字目から4文字を切り取る
Dim str As String str = "1234567890" 'Mid関数 str = Mid(str, 3, 4) '結果:3456 'Substring関数 '0から数えるので、3文字目は2 str = str.Substring(2, 4) '結果:3456 '3文字目から最後まで str = str.Substring(2) '結果:34567890
しかし文字数が切り取る文字数より少ない場合エラーになります
Dim str As String str = "1234" 'Mid関数 str = Mid(str, 3, 4) '結果:34 'Substring関数 '0から数えるので、3文字目は2 str = str.Substring(2, 4) '結果:エラー '3文字目から最後まで str = str.Substring(2) '結果:エラー
PadRight関数で半角スペースを末尾に付加して切り取った後、Trim関数でスペースを削除する
Dim str As String str = "1234" 'Substring関数 '3文字目から4文字取るには6文字以上必要なので、スペースを末尾に6つ付加してから削除する str = str.PadRight(6).Substring(2, 4).Trim() '結果:34 '3文字目から最後まで取るには3文字以上必要なので、スペースを末尾に3つ付加してから削除する str = str.PadRight(3).Substring(2).Trim() '結果:34
Right関数をSubstring関数に置き換える
右から4文字を切り取る
Dim str As String str = "1234567890" 'Mid関数 str = Right(str, 4) '結果:7890 'Substring関数 '文字数から切り取る数を引いた場所から最古まで切り取る str = str.Substring(str.Length - 4) '結果:7890
しかしスタート位置がマイナスの場合エラーになります
Dim str As String str = "123" 'Mid関数 str = Right(str, 4) '結果:123 'Substring関数 str = str.Substring(str.Length - 4) '結果:エラー
PadLeft関数で半角スペースを先頭に付加して切り取った後、Trim関数でスペースを削除する
Dim str As String str = "123" 'Substring関数 '右から4文字を切り取るには4文字以上必要なので、スペースを先頭に4つ付加してから削除する str = str.PadLeft(4).Substring(str.PadLeft(4).Length - 4).Trim() '結果:34