いつもお世話になります
今、資料の英文変換作業において日本語以外を抽出するステートメントで、ウェブから
Sub FindJapaneseRegExp(s, result)
Dim reg As New RegExp
'// 検索条件=日本語以外を抽出
reg.Pattern = "[^ぁ-んァ-ヶ一-龠〃々〆〇。-゚]"
を参考にプログラムを組んでみましたが
ひとつ気になるところが半角カタカナの抽出で[。-゚]がよく理解できていません
よく分からいなので今は[ヲ-ン]で組もうと思っていますが
[。-゚]の間には半角カタカナ以外何が有るか分かりましたら教えてください
またIMAパッド等、どのように調べれば良いのかも知りたいと思っています
まだまだ未熟者で申し訳ございませんが、よろしくお願い申し上げます
No.1ベストアンサー
- 回答日時:
こんばんは。
>まだまだ未熟者で申し訳ございませんが
ご謙遜を(^^; 難易度の高い質問があったりして、もし突っ込まれたらどうしようかとハラハラしながら回答しております。今回は、この方面にはもっと強いひともいるとは思います。
以下は、私の知っている範囲です。
>今は[ヲ-ン]で組もうと思っていますが
半角カタカナ(ちなみに、ここの掲示板は、UTF系だから、半角カタカナOKのはず)
[\uFF66-\uFF9F]
探し方は、やはり、IMEパッドで、Unicodeモードにして拾っていきます。
ただし Unicodeで行うか、SJISで行うかの問題があります。SJISで行う方法は、私は、忘れてしまったのか、うまく出来なくなってしまいました。漢字の範囲は、Unicodeですと、
[一-龠]
他にも、CJK統合漢字、CHK互換漢字、全角数字などがあります。
それから、英文だけなら、日本語関連を含めた2byte 文字の除去ということになるのでしょうか。半角カタカナもUnicodeですから、2byte文字なので除去できるはずです。
'①
Sub RegTest1()
Dim RegEx As Object
Dim enter_text As String
Dim result_text As String
enter_text = "EXCELエクセルエクセルえくせる"
Set RegEx = CreateObject("VBScript.RegExp")
With RegEx
.Global = True: .IgnoreCase = False: .MultiLine = True
.Pattern = "[\uFF66-\uFF9F\u3041-\u3093\u30A1-\u30F6]"
'半角カタカナ,全角ひらがな,全角カタカナ
result_text = .Replace(enter_text, "")
End With
End Sub
'②
Sub RegTest2()
Dim RegEx As Object
Dim enter_text As String
Dim result_text As String
enter_text = "EXCELエクセルエクセルえくせる"
Set RegEx = CreateObject("VBScript.RegExp")
With RegEx
.Global = True: .IgnoreCase = False: .MultiLine = True
.Pattern = "[^\d\w]*"
'ANSI
result_text = .Replace(enter_text, "")
End With
End Sub
'③ 2byte文字から、半角を探す。
Sub TwoByteChrRemoving()
Dim enter_text As String
Dim b() As Byte
Dim result_text As String
Dim i As Long
enter_text = "EXCELエクセルエクセルえくせる"
b() = enter_text
For i = 0 To UBound(b) Step 2
If b(i + 1) = 0 Then
buf = buf & Chr(b(i))
End If
Next i
result_text = buf
End Sub
WindFallerさん、こんにちは
いつもご丁寧にありがとうございます
大変参考になりました
一緒にやっている若い仲間たちにも教えてやりました
幾つになっても教えられることが沢山有ります
これからもよろしくご教授、お願い申し上げます
本当にいつもありがとうございます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Visual Basic(VBA) エクセル VBA メール本文に指定セルに記載されているURLをリンクとして記載する方法 8 2022/08/08 07:50
- Windows 10 Windows10の回復環境 2 2023/02/03 19:13
- Visual Basic(VBA) Sheet2の日付をキーにオートフィルターで2023年1月のデータを抽出し、Sheet3へ書き出すた 2 2023/03/06 23:57
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VBS】クリップボード操作につ...
-
C++言語、国際符号翻訳プログラ...
-
テキストボックスかラベル上の...
-
cshスクリプト内での”ヒアドキ...
-
エクセルVBA 文字列の分解について
-
VBA public変数はどのようなこ...
-
VBAで入力数値について
-
他のフォームから別のフォーム...
-
VB.NETでのイベントの途中終了
-
エクセルVBAでテキストボッ...
-
テキストボックスを下から上へ...
-
[vb.net] 起動したFrom2を閉じ...
-
画像の90度回転表示の処理時間...
-
String型の値にスラッシュをつ...
-
C#のループでtextboxに値を入れ...
-
VB6.0の正規表現を使って、文字...
-
comboboxのクリックイベントに...
-
【VB6.0】 あるフォームから他...
-
VBAでcallで呼び出したsubを終...
-
アクセスできない保護レベルエ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVBAで文章にある複数の...
-
テキストボックスかラベル上の...
-
RichTextBoxで指定行の色を自動...
-
[VB6] SQLの作成について
-
DTPicker テキストクリアの方法
-
ReadParseで同名のinput名は配...
-
sublimit textっていうエディタ...
-
Googleシート「A1」でなくて「A...
-
vba 日本語以外を抽出について
-
Can you text me your business...
-
文字列を配列に…。
-
【VBS】クリップボード操作につ...
-
フォームのテキストボックス内...
-
「Thanks 4 sending me」←誤文?
-
VB2010 シリアル通信の文字列...
-
PHP GDでテキストを含む最小の...
-
XMLファイルのattribute値がう...
-
EXCELからWORDの文章を取得
-
VB6.0 sp5]テキストボックスと...
-
枕草子の「中納言参り給ひて」の...
おすすめ情報