![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
split関数では、デリミタにパターンを指定することはできないと思います。
質問者がやりたいことは、要は数字の部分の取り出しだと思いますので、"VBScript.RegExp"オブジェクトを使って数字部分をマッチさせて取り出すことができます。
サンプル
Dim objRegExp, objMatches, x
Dim str
str = "2005-5/23 19'02""40"
Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Pattern = "(\d+)"
objRegExp.Global = True
Set objMatches = objRegExp.Execute(str)
For Each x In objMatches
MsgBox x
Next
No.3
- 回答日時:
書いた後に気がついたことだけれども、パターンは、「\D」ですね。
>Array = split(文字列, /[ :\/\'\"-]/)
それに、BregExp を使えばよいのではないでしょうか?
http://www.hi-ho.ne.jp/babaq/bregexp.html
サンプル:
'<標準モジュール>
Option Explicit
Private Declare Function Split Lib "BRegExp" _
(szRegstr As String, szTarget As String, limit As Long) As Variant
Sub test2()
Dim myData As String
Dim myArray As Variant
myData = "2005-5/23 19'02""40"
myArray = Split("/\D+/", myData, 0)
End Sub
参考URL:http://www.hi-ho.ne.jp/babaq/bregexp.html
No.2
- 回答日時:
パターンをそのまま使わせていただくことにしました。
ただ、空白が2個以上入ることを考えると、以下のパターンのほうがよいかと考えました。正規表現を使わなくてもできるでしょうけれども、やはり、こちらの方が短くで済みます。
Option Explicit
Sub test()
Dim objRe As Object
Dim Matches As Object
Dim Match As Object
Dim myData As String
Dim myRepData As String
Dim myArray As Variant
Set objRe = CreateObject("VBScript.RegExp")
myData = "2005-5/23 19'02""40"
With objRe
.Pattern = "[\s:\/\'\""-]+" 'パターン
.Global = True
Set Matches = .Execute(myData)
For Each Match In Matches
myRepData = .Replace(myData, ",")
Next Match
myArray = Split(myRepData, ",")
End With
Set objRe = Nothing
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) Excel VBAでのセルやシェイプの色指定について。 たとえば、”red”という文字列を用いて … 4 2022/11/15 09:44
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Excel(エクセル) LEFT関数で文字数を指定しないで取りだす方法 7 2023/06/30 09:49
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- JavaScript javascriptで文字分割は、 split() などメソッド不要??? 4 2023/02/06 22:50
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA split(文字列, ★) ★←複数...
-
文字列と数字を含むセルから数...
-
プログラミングでは、半角括弧...
-
vba アクティブシートの名前変...
-
CSVファイルの中で、「 , 」カ...
-
「カンマ」と「コンマ」は同じ...
-
何故、日本は未だに数字を3桁...
-
カンマ区切り
-
英数字のみ全角から半角に変換
-
EXCELからCSVにすると余計なカ...
-
tkinter widget ことえり変換で...
-
UWSC教えて
-
秀丸マクロで、あらかじめ選択...
-
文字コードの%E3%80%とは何です...
-
正規表現について VB6
-
特定の列のみ置換を行いたい
-
エクセル2003で、1つのセルに全...
-
Excelでカンマ区切りの合計をユ...
-
Delphi 文字列の中のタブをコン...
-
桁区切りについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パイソンエラーについて
-
Malformed UTF-8 character
-
GDBでデバッグするとき文字列の...
-
文字列と数字を含むセルから数...
-
Perl/Tk使用時のUTF-8コード文...
-
日本語文字列の指定長(byte)切出し
-
数字を文字列に変換し短縮化する
-
splitの逆の処理
-
Perl(Windows)の文法について
-
Perlで Right関数に近い処理を...
-
perlを使用しての特定行抽出に...
-
トリッププログラム!?
-
関数chop
-
正規表現での文字の抜き出し
-
プログラミング HSPの変数につ...
-
ワイルドカード処理
-
TRUE、FALSEと言う文字で、1、0...
-
VBA split(文字列, ★) ★←複数...
-
perlでのURL判定
-
カートの送料設定を2個まで1個...
おすすめ情報