
文字列中の両括弧を取り除く正規表現を求めています.
入力文は「(文字列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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メッセージボックスで1025文字...
-
文字の入力で横バー上段、中断...
-
Excel関数「COUNTIF」で”文字”...
-
全角括弧と全角読点の間隔を狭...
-
全角英数文字が嫌われる理由を...
-
エクセルのCOUNTIFが正しくカウ...
-
VBAで英数字入力チェックしたい。
-
auのCメールの通信料はいか...
-
@ezweb.ne.jpについて教えて下...
-
Replace関数は文字数の制限ある...
-
=code(" ") で値が160となる文...
-
エクセルでデータを30バイト...
-
全角英数字のみ半角英数字にす...
-
フリガナの入力規制について
-
半角カタカナと・と漢字が混在...
-
ColdFusionにて
-
文字列中の両丸括弧を取り除くV...
-
VBScriptである文字列に半角文...
-
Accessの文字数を調べたい
-
バッチファイル 全角検索
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字の入力で横バー上段、中断...
-
メッセージボックスで1025文字...
-
全角括弧と全角読点の間隔を狭...
-
エクセルのCOUNTIFが正しくカウ...
-
Excel関数「COUNTIF」で”文字”...
-
VBAで英数字入力チェックしたい。
-
XMLのタグ名の禁則文字
-
全角英数文字が嫌われる理由を...
-
半角記号、全角記号を含む正規...
-
2つ以上の連続する空白文字を除去
-
Replace関数は文字数の制限ある...
-
記号は半角と全角どちらがよい...
-
エクセルでの漢字、カタカナ、...
-
特定の文字を簡単な操作で半角...
-
SEO タイトルに「&」を使用
-
パソコンで全角、半角文字の切...
-
文字列中の両丸括弧を取り除くV...
-
Excel2002 一桁数字だけ全角に置換
-
IT企業の技術屋にとって全角英...
-
Phonetic関数を利用して文章中...
おすすめ情報