連続スペースをSplitする(区切る)〜VS2008
- 2012.01.27 Friday
- 12:57
ある体裁が整っているデータがあるとする。
例えば、
001 YYYYMMDDHHMMSS A
002 YYYYMMDDHHMMSS BB
003 YYYYMMDDHHMMSS CCC
カンマ区切りとかであれば、splitして、あとは連続スペースをTrimすれば良いのですが、
例のようにスペース区切りでなおかつ体裁が整っている場合、
(上の場合は最後の文字列が右詰で、内部分が半角スペース)
そのままsplitするとNull文字("")を含んだ配列ができてしまう。
こういった連続スペースを考慮に入れてsplitする方法はないかと探すと
複数の空白のsplitについて
を見つけた。
正規表現を使って、任意の連続半角スペースを検索して、
その連続スペースでsplitできるという
なるほど。
Dim rSplit As Regex = New Regex("¥s+")
Dim sLine() As String = rSplit.Split("001 YYYYMMDDHHMMSS A")
※¥は半角
これで、連続スペースがあってもきれいに分割できちゃいます。
覚え書きまで
参考
複数の空白のsplitについて
例えば、
001 YYYYMMDDHHMMSS A
002 YYYYMMDDHHMMSS BB
003 YYYYMMDDHHMMSS CCC
カンマ区切りとかであれば、splitして、あとは連続スペースをTrimすれば良いのですが、
例のようにスペース区切りでなおかつ体裁が整っている場合、
(上の場合は最後の文字列が右詰で、内部分が半角スペース)
そのままsplitするとNull文字("")を含んだ配列ができてしまう。
こういった連続スペースを考慮に入れてsplitする方法はないかと探すと
複数の空白のsplitについて
を見つけた。
正規表現を使って、任意の連続半角スペースを検索して、
その連続スペースでsplitできるという
なるほど。
Dim rSplit As Regex = New Regex("¥s+")
Dim sLine() As String = rSplit.Split("001 YYYYMMDDHHMMSS A")
※¥は半角
これで、連続スペースがあってもきれいに分割できちゃいます。
覚え書きまで
参考
複数の空白のsplitについて



)



