
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルから文字列を読み出し...
-
Perlで Right関数に近い処理を...
-
住宅にカナを入力する際に丁目...
-
CSVファイルの中で、「 , 」カ...
-
いまスマホからカードの申込み...
-
CString から LPCTSTRの型に変換
-
Accessで日付や数値を全角で表...
-
[VBA][Excel]クリップボードか...
-
VBA 文字に半角が含まれて...
-
IEからEdgeへの移行に伴うIMEの...
-
全角英数字の必要性が理解できない
-
エクセルにMicrosoft Barcode C...
-
エクセルでの”々”の扱い
-
エクセルの検索が正しくできな...
-
文字コードの%E3%80%とは何です...
-
EXCELからCSVにすると余計なカ...
-
プログラミングでは、半角括弧...
-
strtol関数で文字列の有無を判...
-
差し込み印刷について教えてく...
-
メモ帳からエクセルにセル区切...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パイソンエラーについて
-
Perlでさらに気の利いた文字列...
-
以下のperlのプログラムについて
-
Excel2003 IF関数の条件指定方法
-
直前のワードとの間にスペース...
-
掲示板の管理者画面でログイン...
-
カートの送料設定を2個まで1個...
-
splitの逆の処理
-
関数chop
-
文字列にコントロール文字を含...
-
GDBでデバッグするとき文字列の...
-
Perl(Windows)の文法について
-
Perlで Right関数に近い処理を...
-
10進数を表す文字列を整数型に
-
トリッププログラム!?
-
Malformed UTF-8 character
-
正規表現による検索
-
Perlの文字列置換について
-
'\\"'はなの意味ですか
-
CGI.pmのcheckboxの-labelにHTM...
おすすめ情報