VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

メニューへ戻ります。 文字列操作関係のメニュー
1.文字列を半角→←全角等異種文字列に変換する
2.文字列の文字数・バイト数を取得する
3.文字列中から指定位置の文字を取り出す
4.指定の文字数になるまで、先頭又は、末尾に指定文字を埋める
5.文字列の半角換算のバイト数の取得及び文字列を指定のバイト数にカット
6.指定バイト位置から指定バイト数分の文字列を取り出す関数
7.半角カタカナだけを全角カタカナに変換する
8.文字列中から指定の文字を検索する方法色々
9.
10.
11.
12.
 .
20.その他、当サイト内に掲載の文字列操作に関するサンプル


5.文字列の半角換算のバイト数の取得及び文字列を指定のバイト数にカット(39_Str_05) (旧、SampleNo.016)
1.文字列を半角1バイト換算の指定のバイト数にカットする
2.文字列を半角1バイト換算でのバイト数を取得する
3.
4.
5.
6.

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86
Option :[Compare Text] [Explicit On] [Infer On] [Strict On]
Imports :追加なし
参照設定:
追加なし
その他 :
    :
このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので)
必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
このページのトップへ移動します。 1.文字列を半角1バイト換算の指定のバイト数にカットする

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'文字列を半角1バイト換算の指定のバイト数にカットする
    TextBox2.Text = fStrCut(TextBox1.Text, CInt(TextBox3.Text))
    TextBox2.Focus()
    Debug.WriteLine("[" & fStrCut("ABCあいう", 4) & "]")      '結果 [ABC ]
    Debug.WriteLine("[" & fStrCut("ABCあいう", 9) & "]")      '結果 [ABCあいう]
    Debug.WriteLine("[" & fStrCut("ABCあいう", 12) & "]")     '結果 [ABCあいう   ]
End Sub

Private Function fStrCut(ByVal Mystring As String, ByVal nLen As Integer) As String
'文字列を指定のバイト数にカットする関数(漢字分断回避)
    Dim sjis As System.Text.Encoding = System.Text.Encoding.GetEncoding("Shift_JIS")
    Dim TempLen As Integer = sjis.GetByteCount(Mystring)
    If nLen < 1 Or Mystring.Length < 1 Then Return Mystring
    If TempLen <= nLen Then   '文字列が指定のバイト数未満の場合スペースを付加する
        Return Mystring.PadRight(nLen - (TempLen - Mystring.Length), CChar(" "))
    End If
    Dim tempByt() As Byte = sjis.GetBytes(Mystring)
    Dim strTemp As String = sjis.GetString(tempByt, 0, nLen)
    '末尾が漢字分断されたら半角スペースと置き換え(VB2005="・" で.NET2003=NullChar になります)
    If strTemp.EndsWith(ControlChars.NullChar) Or strTemp.EndsWith("・") Then
        strTemp = sjis.GetString(tempByt, 0, nLen - 1) & " "
    End If
    Return strTemp
End Function

このページのトップへ移動します。 2.文字列を半角1バイト換算でのバイト数を取得する

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'文字列を半角1バイト換算でのバイト数を取得する
    Label2.Text = "上記テキストボックスの文字は " & fLenB(TextBox2.Text) & " バイトです。"
'  MessageBox.Show("文字列 [ABCあいう ] のバイト数は、" & fLenB("ABCあいう ") & " バイトです")
End Sub

Private Function fLenB(ByVal MyString As String) As Integer
'文字列を半角1バイト換算でのバイト数を取得する自作関数
    fLenB = System.Text.Encoding.GetEncoding("shift-jis").GetByteCount(MyString)
End Function

このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5.


このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
文字列を指定のバイト数にカットする関数(漢字分断回避)
文字列を半角1バイト換算でのバイト数を取得する自作関数



このページのトップへ移動します。