
No.5ベストアンサー
- 回答日時:
「プロジェクト」-「参照の追加」-「COM」で
Microsoft VBScript Regular Expressions 5.5
を選択してOK。
コマンドボタン3での実行できたコード。
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim re As New VBScript_RegExp_55.RegExp
Dim matchs As VBScript_RegExp_55.MatchCollection
Dim matchstr As VBScript_RegExp_55.Match
'Dim submatch As VBScript_RegExp_55.SubMatches
Dim v() As String, x() As String
Dim i As Integer
ReDim v(0 To 4), x(0 To 4)
v(0) = "abc012()_001t"
v(1) = "abc3()_2t"
v(2) = "abc5()_3t"
v(3) = "abc6()_4t"
v(4) = "abc7()_5t"
re.Pattern = "\D*(\d+)\D*"
re.Global = True
For i = 0 To UBound(v)
If re.Test(v(i)) = True Then
matchs = re.Execute(v(i))
For Each matchstr In matchs
x(i) = x(i) & matchstr.SubMatches.Item(0)
Next
Debug.Print(v(i) & " " & x(i))
End If
Next
End Sub
初めの宣言方法も違うようですね。
> ReDim v(0 To 4), x(0 To 4)
配列は0からのようです。
(なんせ2005は初めたばかりで。ExcelVBAならよくやってますけど)
ご参考になれば。
お礼が遅れてすみません。
わざわざ、実行までして確かめてくれたんですね。。申し訳ないです。。
とても助かりました!ありがとうございます!!
No.4
- 回答日時:
VB6.0で参考URLの参照設定を行なった後で、
コマンドボタンを押すとイミディエイトウィンドウに書き出してる
サンプルです。
Private Sub Command1_Click()
Dim re As New RegExp
Dim matchs As MatchCollection
Dim matchstr As Match
Dim submatch As SubMatches
Dim v() As String, x() As String
Dim i As Integer
ReDim v(1 To 5), x(1 To 5)
v(1) = "abc012()_001t"
v(2) = "abc3()_2t"
v(3) = "abc5()_3t"
v(4) = "abc6()_4t"
v(5) = "abc7()_5t"
re.Pattern = "\D*(\d+)\D*"
re.Global = True
For i = 1 To UBound(v)
If re.Test(v(i)) = True Then
Set matchs = re.Execute(v(i))
For Each matchstr In matchs
Set submatch = matchstr.SubMatches
x(i) = x(i) & submatch.Item(0)
Next
Debug.Print v(i), x(i)
End If
Next
End Sub
ご参考になれば。
この回答への補足
回答ありがとうございます。
しかし、実はVB2005を扱っているんです。
なので、いただいたプログラムが正しく動きませんでした。
VB2005で実行するとするとどうプログラムすればよいのでしょうか?
何度もすみません。。。
No.2
- 回答日時:
ところで数値だとすると、
>"0k,abc,5k,abc3.0" → 0530
この場合は530になってしまいますが。
数字(文字列)の事ですか?
この回答への補足
数値だと、0530は530になってしまうんですね。誤算でした。
ご指摘ありがとうございます。
ちなみに僕が何でこんなことをしているのか簡単に説明しますと・・
実は今ソートのプログラムを作っているのですが、2種類のソートの仕方を実行しないといけなくて、その前処理として抽出プログラムを作ろうとしているんです。
(1)単に数値で昇順に並び替える
"abc()_3t" → 3
"abc()_5t" → 5
"abc()_2t" → 2
"abc()_1t" → 1
を、抽出した数値をもとに以下のように並び替える。
"abc()_1t"
"abc()_2t"
"abc()_3t"
"abc()_5t"
(2)0k..5k→5k..0k→0k..5k→5k..0k、のように連続する項の終わりの数値と最初の数値をくっつけるように並び替え。(abc3.0は無視するようにする。)
"0k,abc,5k,abc3.0" → 05
"0k,abc,5k,abc3.0" → 05
"5k,abc,0k,abc3.0" → 50
"5k,abc,0k,abc3.0" → 50
を、抽出した”数?”をもとに以下のように並び替える。
"0k,abc,5k,abc3.0"
"5k,abc,0k,abc3.0"
"0k,abc,5k,abc3.0"
"5k,abc,0k,abc3.0"
No.1
- 回答日時:
この回答への補足
回答、ありがとうございます。
しかし、実は僕はまだVB初心者なためか、参照ページを理解しきれませんでした。
お時間がありましたら、具体的に参考プログラム等、ヒントをいただけませんか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル関数について 8 2023/06/28 17:04
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- PostgreSQL 数値が定期的にあらわれる文字列から、いくつめに出現した数値が指定して切り出したい 1 2023/06/08 13:12
- Excel(エクセル) SUMIF関数について 4 2023/06/14 13:13
- Excel(エクセル) Excelの関数についておしえてください。 3 2023/04/20 18:36
- Java Java 南京錠 2 2023/02/04 11:46
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「何とかで始まり、何とかで終...
-
VBA EXCEL あるセルの中の一...
-
正規表現の否定先読みで、複数...
-
「abcで始まらない」を正規表現...
-
角カッコが含まれてるかどうか...
-
バッチファイルの正規表現を利...
-
CSVファイルの中で、「 , 」カ...
-
英数字のみ全角から半角に変換
-
EXCELからCSVにすると余計なカ...
-
エクセルで数値を全角文字(カ...
-
文字コードの%E3%80%とは何です...
-
住宅にカナを入力する際に丁目...
-
WORDで改ページすると時々グレ...
-
IEからEdgeへの移行に伴うIMEの...
-
エクセルでの”々”の扱い
-
Excel VBAでPDFファイルをMicro...
-
VBA 文字に半角が含まれて...
-
SQLのデータで半角カナを全角に...
-
各項目がダブルクォーテーショ...
-
プログラミングでは、半角括弧...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「何とかで始まり、何とかで終...
-
VBA EXCEL あるセルの中の一...
-
角カッコが含まれてるかどうか...
-
「abcで始まらない」を正規表現...
-
正規表現の否定先読みで、複数...
-
正規表現 英数字を1つ以上含む...
-
バッチファイルの正規表現を利...
-
C++でofstreamに空白を含む文字...
-
英数字混じり8文字以上の正規表現
-
正規表現について
-
文字列から数値を抽出したいの...
-
Perl CSVファイルの複数条件で...
-
入力された文字列が、LD22000を...
-
正規表現にて文字数をチェック...
-
CSVファイルの中で、「 , 」カ...
-
住宅にカナを入力する際に丁目...
-
英数字のみ全角から半角に変換
-
エクセルで数値を全角文字(カ...
-
EXCELからCSVにすると余計なカ...
-
文字コードの%E3%80%とは何です...
おすすめ情報