VB.NETでの文字列切り出しとは?様々な方法をご紹介!

- システム
エンジニア - VB.NETで文字列を切り出すにはどうすればいいのですか?
- プロジェクト
マネージャー - VB.NETでは、さまざまなメソッドがあり状況によって使い分けて切り出すことが出来ます。
VB.NETでの文字列切り出しとは?
今回は、VB.NETでの文字列の切り出し方について説明します。文字列から必要な部分のみを切り出すことはよくあります。VB.NETでは様々な文字列操作メソッドが用意されており、用途に応じて使い分ける必要があります。
VB.NETでの文字列切り出しに興味のある方は是非ご覧ください。
先頭からN文字切り出す
VB.NETのStrings.Left()またはSubstring()を使用して、文字列の先頭からN文字分を切り出すことができます。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
Dim org As String = "あいうえお"
' Strings.Left()で切り出し。第2引数に先頭から何文字切り出すかを指定する。
Dim str1 As String = Strings.Left(org, 3)
Dim str2 As String = Strings.Left(org, 6)
Console.WriteLine (str1) ' あいう
Console.WriteLine (str2) ' あいうえお
' Substring()で切り出し。第1引数に文字列のインデックス、第2引数に何文字切り出すかを指定する。
Dim str3 As String = org.Substring(0, 3)
' Dim str4 As String = org.Substring(0, 6) ' ArgumentOutOfRangeExceptionが発生する
Console.WriteLine (str3) ' あいう
|
実行結果は以下のようになります。
1
2
3
|
あいう
あいうえお
あいう
|
Strings.Left()では、文字数よりも大きな値を指定しても、エラーにならずに文字列全体を取得できます。
Substring()では、文字数よりも大きな値を指定すると、ArgumentOutOfRangeExceptionが発生します。
このように、VB.NETでは、Strings.Left()またはSubstring()を使用して、文字列の先頭からN文字分を切り出すことができます。
先頭からN文字目を切り出す
Strings.Mid()またはSubstring()を使用して、先頭からN文字目を切り出すことができます。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
|
Dim org As String = "あいうえお"
' Strings.Midで切り出し
Dim str1 As String = Strings.Mid(org, 2, 1)
Console.WriteLine (str1) ' い
' Substringで切り出し
Dim str2 As String = org.Substring(1, 1)
Console.WriteLine (str2) ' い
|
実行結果は以下のようになります。
1
2
|
い
い
|
Substring()はインデックスでアクセスしますので、1文字目はインデックス0、2文字目はインデックス1となります。
Substring(1, 1)とすることで、2文字目から1文字分(つまり2文字目のみ)を切り出すことができます。
このように、Strings.Mid()またはSubstring()を使用して、先頭からN文字目を切り出すことが可能です。
末尾からN文字切り出す
Strings.Right()を使用して、文字列の末尾からN文字分を切り出すことができます。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
|
Dim org As String = "あいうえお"
' Strings.Right()で切り出す
Dim str1 As String = Strings.Right(org, 3)
Dim str2 As String = Strings.Right(org, 6)
Console.WriteLine (str1) ' うえお
Console.WriteLine (str2) ' あいうえお
|
実行結果は以下のようになります。
1
2
|
うえお
あいうえお
|
Strings.Right()では、文字数よりも大きな値を指定しても、エラーにならずに文字列全体を取得できます。このように、Strings.Right()を使用して、文字列の末尾からN文字分を切り出すことができます。
中ほどからN文字切り出す
Strings.Mid()またはSubstring()を使用して、文字列の中ほどからN文字切り出すことができます。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
|
Dim org As String = "あいうえお"
' Strings.Midで切り出し
Dim str1 As String = Strings.Mid(org, 2, 3)
Console.WriteLine (str1) ' いうえ
' Substringで切り出し
Dim str2 As String = org.Substring(1, 3)
Console.WriteLine (str2) ' いうえ
|
実行結果は以下のようになります。
1
2
|
いうえ
いうえ
|
2文字目から3文字分を切り出しています。
このように、Strings.Mid()またはSubstring()を使用して、文字列の中ほどからN文字切り出すことができます。
先頭N文字以外を切り出す
Strings.Mid()またはSubstring()を使用して、文字列の先頭N文字以外を切り出すことができます。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
|
Dim org As String = "あいうえお"
' Strings.Midで切り出し
Dim str1 As String = Strings.Mid(org, 3)
Console.WriteLine (str1) ' うえお
' Substringで切り出し
Dim str2 As String = org.Substring(2)
Console.WriteLine (str2) ' うえお
|
実行結果は以下のようになります。
1
2
|
うえお
うえお
|
このように、Strings.Mid()またはSubstring()を使用して、文字列の先頭N文字以外を切り出すことができます。
末尾N文字以外を切り出す
Strings.Left()またはSubstring()を使用して、文字列の指定した文字までを切り出すことができます。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
|
Dim org As String = "あいうえお"
' Strings.Leftで切り出し
Dim str1 As String = Strings.Left(org, Len(org) -2)
Console.WriteLine (str1) ' あいう
' Substringで切り出し
Dim str2 As String = org.Substring(0, org.Length -2)
Console.WriteLine (str2) ' あいう
|
実行結果は以下のようになります。
1
2
|
あいう
あいう
|
文字列の長さは、”Len(文字列)”または”文字列.Length”でわかります。
このように、Strings.Left()またはSubstring()を使用して、文字列の指定した文字までを切り出すことができます。
指定した文字までを切り出す
Strings.Left()、Strings.Mid()またはSubstring()を使用して、文字列の指定した文字までを切り出すことができます。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
Dim org As String = "あいうえお"
' Strings.Left、Strings.Midで切り出し
Dim str1 As String = Strings.Left(org, InStr(org, "う") -1)
Dim str2 As String = Strings.Mid(org, 1, InStr(org, "う") -1)
Console.WriteLine (str1) ' あい
Console.WriteLine (str2) ' あい
' Substringで切り出し
Dim str3 As String = org.Substring(0, org.IndexOf("う"))
Console.WriteLine (str3) ' あい
|
実行結果は以下のようになります。
1
2
3
|
あい
あい
あい
|
InStr()またはIndexOf()で、指定文字が含まれるインデックスを取得できます。取得したインデックスまでの文字列を切り出すことで、指定した文字までを取得できます。
このように、Strings.Left()、Strings.Mid()またはSubstring()を使用して、文字列の指定した文字までを切り出すことができます。
指定した文字以降を切り出す
Strings.Right()、Strings.Mid()またはSubstring()を使用して、指定した文字以降を切り出すことができます。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
Dim org As String = "あいうえお"
' Strings.Right、Strings.Midで切り出し
Dim str1 As String = Strings.Right(org, InStr(org, "う"))
Dim str2 As String = Strings.Mid(org, InStr(org, "う"))
Console.WriteLine (str1) ' うえお
Console.WriteLine (str2) ' うえお
' Substringで切り出し
Dim str3 As String = org.Substring(org.IndexOf("う"))
Console.WriteLine (str3) ' うえお
|
実行結果は以下のようになります。
1
2
3
|
うえお
うえお
うえお
|
このように、Strings.Right()、Strings.Mid()またはSubstring()を使用して、指定した文字以降を切り出すことができます。
空白を除いて切り出す
VB.NETでは、Trim()を使用して、空白を除いて切り出すことができます。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
|
Dim org As String = " あいうえお "
' Trimで空白を取り除く
Dim str1 As String = org.Trim
Console.WriteLine (str1) ' あいうえお
|
実行結果は以下のようになります。
1
|
あいうえお
|
ここでは紹介しませんが、先頭の空白のみ削除したり、末尾の空白のみ削除して切り出したりする方法もあります。
このように、VB.NETでは、Trim()を使用して、空白を除いて切り出すことができます。
置換して切り出す
VB.NETのReplace()を使用して、文字列を置換して切り出すことができます。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
|
Dim org As String = "あいうえお"
' "うえお" を ""に置換する
Dim str1 As String = org.Replace("うえお","")
Console.WriteLine (str1) ' あいうえお
|
実行結果は以下のようになります。
1
|
あい
|
置換には正規表現を使うこともできます。
このように、VB.NETではReplace()を使用して、文字列を置換して切り出すことができます。
- システム
エンジニア - 色々な方法で文字列を切り出すことが出来るようになるのですね。
- プロジェクト
マネージャー - ださ'文字列をどう切り出したいかによって、使い分ける必要がありますが、コードを使うことで簡単に切り出すことが出来ます。'
VB.NETでの文字列切り出しを理解しよう
不要な部分を削除し、新たな文字列として切り出す方法について、理解を深められたでしょうか。VB.NETでは様々な文字列操作メソッドが用意されており、用途に応じて使い分ける必要があります。
ぜひご自身でソースコードを書いて、さらに理解を深めてください。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。


VB.NET新着案件New Job
-
生産管理システムの単体テスト/東京都千代田区/【WEB面談可】/在宅勤務
月給25万~25万円東京都千代田区(東京駅) -
鉄鋼関連・グループ会社システム支援/Oracle/東京都新宿区/【WEB面談可】/在宅勤務
月給26万~26万円東京都新宿区(新宿駅) -
資産運用会社向け残高管理システム運用保守/SQLServer/東京都中央区/【WEB面談可】
月給50万~60万円東京都中央区(銀座駅) -
資産運用会社向け残高管理システム開発のテスター/SQLServer/東京都中央区/【WEB面談可】
月給25万~35万円東京都中央区(銀座駅) -
Web受注システム運用保守/VB.NET/東京都港区/【WEB面談可】
月給50万~60万円東京都港区(品川駅) -
Web受注システム開発のテスター/VB.NET/東京都港区/【WEB面談可】
月給25万~35万円東京都港区(品川駅)