
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ランキング
-
掲示板の管理者画面でログイン...
-
Malformed UTF-8 character
-
CSVファイルの中で、「 , 」カ...
-
IEからEdgeへの移行に伴うIMEの...
-
エクセルで数値を全角文字(カ...
-
Excel VBAでPDFファイルをMicro...
-
CSVの定義
-
Excelについて質問です。 セル...
-
COBOL・全角判定
-
VBA 文字に半角が含まれて...
-
住宅にカナを入力する際に丁目...
-
英数字のみ全角から半角に変換
-
VBA 置換文字がみつからない時
-
正規表現で、特定の文字列を含...
-
openoffice calcで#DIV/0! の...
-
CString から LPCTSTRの型に変換
-
C#で、テキストボックスの入力...
-
フォントの色を保持したままセ...
-
WORDで改ページすると時々グレ...
-
ACCESS VBA でのバイナリデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Malformed UTF-8 character
-
文字列と数字を含むセルから数...
-
Perlで Right関数に近い処理を...
-
パイソンエラーについて
-
ワイルドカード処理
-
何度も出現する文字列AAのうち...
-
GDBでデバッグするとき文字列の...
-
splitの逆の処理
-
数字を文字列に変換し短縮化する
-
リストデータの検索でのエラー...
-
メールヘッダのMIMEエンコード...
-
プログラミング HSPの変数につ...
-
Perlでのの抜き出し方法
-
perlで文字列を短く(圧縮)し...
-
正規表現での文字の抜き出し
-
perlでの判定がうまくいきません
-
VBA like演算子について
-
リフェラーで弾く方法について
-
文字列検索(例えばindex関数)...
-
Perl(Windows)の文法について
おすすめ情報