文字列中の両括弧を取り除く正規表現を求めています.
入力文は「(文字列1)文字列2」となっています.
両括弧は全角の丸括弧"(",")"と半角の丸括弧"(",")"のペアを見つけ,文字列2を取り出したいのです.
文字列1,文字列2は全角,半角の文字列(主に全角)が来ます.括弧の中に括弧が入れ子(ネスト)する事は想定していません.
例えば,「(グループA)田中」という入力に対しては,「田中」をExcel VBAで抽出したいのです.
正規表現ライブラリを使っていますが,別の方法でも効率良く抽出できるならOKです.
'--------------- 以下を試した結果 ---------------------------------
Dim RE, strPattern As String, reMatch
Set RE = CreateObject("VBScript.RegExp")
' 'strPattern = "^(\(|().*(\)|))$"
' 'strPattern = "(?!.*[(|\(].+?[\)|)])" ' "(グループA)"にマッチする
' 'strPattern = "([\(.+?\)|(.+?)])"
' 'strPattern = "(^[(|\(].+?[\)|)])"
' strPattern = "^(?!.*[(|\(].+?[\)|)])" ' ""
' 'strPattern = "\(.+?\)"
' strPattern = "^(?!.*[\(.+?\)|(.+?)])" ' ""
' strPattern = "(?!.*[(.+?)])" ' ""
' strPattern = "(.+?)" ' "(グループA)"にマッチする
' strPattern = "^[?!.*((.+?))]" '
' strPattern = "[^((.+?))]" '
' '.Pattern = "^(?!.*xyz)"
' 'strPattern = "^(?!.*([.+?]))" ' ""
' strPattern = "[^(.*)]" '"グ","ル",,,
' strPattern = "^(?!([.*]).*)" ' ""
' strPattern = "^(?!(.*).*)" ' ""
' strPattern = "^(?!([.*]))" ' ""
strPattern = ").*$" ' ""
With RE
.Pattern = strPattern
.IgnoreCase = True
.Global = True
Set reMatch = .Execute(str)
If reMatch.Count > 0 Then
str = reMatch(0).Value
End If
End With
'開放
Set reMatch = Nothing
Set RE = Nothing
No.1ベストアンサー
- 回答日時:
取り敢えず正規表現です。
Set RE = CreateObject("VBScript.RegExp")
strPattern = "(.*)|\(.*\)"
With RE
.Pattern = strPattern
.IgnoreCase = True
.Global = True
If .test(str) Then
str = .Replace(str, "")
End If
End With
回答ありがとうございました.
このとおりでできました.
(返信したつもりでしたが,書き込まれておりませんでした.失礼しました.)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 実行時エラー´5854´ 文字列型パラメーターが長すぎます。 3 2023/06/08 21:17
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Visual Basic(VBA) 正規表現を用いての並び替え 7 2022/04/04 09:27
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) エクセルの数式で添付写真のものを入力していてわからないのですが、こちらの通り[]括弧も入れて入力しま 4 2023/02/05 18:33
- Excel(エクセル) 条件式書式の設定 3 2023/07/04 05:34
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBAでの Replace関数で、ワイルドカードは使えないのでしょうか?
Visual Basic(VBA)
-
エクセル 置換又は関数でかっことカッコの中を全て消す。
Excel(エクセル)
-
エクセルでエラーが出て困っています。
Excel(エクセル)
-
-
4
エクセルのマクロで結合セルに値を貼り付けたい
Excel(エクセル)
-
5
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
6
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
7
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
8
構造体配列の特定のメンバーをFor~Eachで
Visual Basic(VBA)
-
9
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
10
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
11
ハイパーリンクでジャンプした先のセルを画面の一番上に表示させたいです。
Excel(エクセル)
-
12
VBAで改行の入ったデータの正規表現について
Excel(エクセル)
-
13
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
14
【ExcelVBA】全シートのセルの数式を値に変換する事は可能でしょうか?
Visual Basic(VBA)
-
15
【Excel VBA】指定行以降をクリアするには?
Visual Basic(VBA)
-
16
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
17
フォーム上のリストボックスに重複して表示しています
Visual Basic(VBA)
-
18
ExcelのVBAでWordを読み取り専用で開いて、見たいページに自動で移動する方法を教えて頂きたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字の入力で横バー上段、中断...
-
HTML5の「pattern」属性で前後...
-
全角括弧と全角読点の間隔を狭...
-
VBAで英数字入力チェックしたい。
-
ACCESS2000の文字数制限について
-
PHPでMySQLに入力した半角スペ...
-
カタカナ判別
-
全角半角変換 C++/CLI
-
【VB6】文字判定
-
「運営スタッフに連絡」システ...
-
VBAのコマンドボタンの文字列の...
-
REGEXREPLACE関数について、
-
PHPの正規表現で住所を分けるに...
-
エクセルの文字列の抽出方法に...
-
PHPの正規表現の/(?<!\\\\\\),/...
-
エスケープ文字の復帰(¥r)と...
-
fgetsとsscanf
-
PHPで出力したHTMLのソースが汚い
-
どなたか私のPHP文章を添削して...
-
preg_match_all 複数の文字列を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスで1025文字...
-
文字の入力で横バー上段、中断...
-
Excel関数「COUNTIF」で”文字”...
-
エクセルのCOUNTIFが正しくカウ...
-
全角括弧と全角読点の間隔を狭...
-
半角記号、全角記号を含む正規...
-
特定の文字を簡単な操作で半角...
-
全角英数文字が嫌われる理由を...
-
VBAで英数字入力チェックしたい。
-
エクセルでの漢字、カタカナ、...
-
全角半角変換 C++/CLI
-
XMLのタグ名の禁則文字
-
VBScriptである文字列に半角文...
-
記号は半角と全角どちらがよい...
-
文字列中の両丸括弧を取り除くV...
-
パソコンで全角、半角文字の切...
-
HTML5の「pattern」属性で前後...
-
Replace関数は文字数の制限ある...
-
Excel2002 一桁数字だけ全角に置換
-
入力禁止文字の設定方法につい...
おすすめ情報