vb ゼロサプレス

   

vb ゼロサプレス

vb ゼロサプレス

ゼロサプレスとは
文字列の先頭や末尾から必要のない0を削除することです。
先頭の文字列は空白にすることがあります。

サプレスとは
英語で抑えるいう意味があります。

例題
000011の場合
11
11

11000の場合
11

javaやjavascriptでは記事が調べたらありました。
vbでは情報がなかったので書こうと思いました。

実装しようか考えました。

二通り案が考えました。

正規表現を使用する。
先頭から文字列を評価して置き換える。

しかし実はそんなことしなくて良かったんです。

簡単な方法がありました。

string.trimを使用すればいいんです。

このメソッドはデフォルトでは空白の文字の前後を削除してくれます。

また指定した文字を削除してくれます。

サンプル1
前後の空白を取り除く
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.Text = TextBox1.Text.Trim()
End Sub

End Class

このサンプルはテキストボックス1に文字列を入力してボタンを押すと
テキストボックス1の文字列の前後の空白が削除されます。

サンプル2
前後の0を取り除く

Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.Text = TextBox1.Text.Trim("0")
End Sub

End Class

テキストボックス1の文字列の前後の0が削除されます。

サンプル3
文字列の先頭の0を削除する。

Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.Text = TextBox1.Text.TrimStart("0")
End Sub

End Class

TrimStartを使えば先頭の文字列の0が削除されます。
先頭の一桁ではなく0が複数あっても削除されるみたいです。


00000001
1

サンプル4
文字列の末尾の0を削除する。

Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.Text = TextBox1.Text.TrimTrimEnd("0")
End Sub

End Class

TrimTrimEndで末尾の文字を削除することができます。

あれ、先頭のセロを削除するのではなく
空白に置き換えることができないです。

今更ですがSQLを使えば色々できるし別にここではいいでしょう。

PR



 - vb.netさんぷる

Translate »