曖昧検索について教えてください。
以下をそれぞれ同等とみなして検索できるでしょうか?
(1)大文字、小文字
(2)"masui"=="matui"
(3)"APPPLE"=="APPLE"
(4)"masui"=="matsi"
(5)引っ越==引越==引っ越し==引越し
(6)長音==マイナス==ダッシュ
(7)繰り返し記号(々==ゝ==〃)
(8)ひらがな・カタカナ(ぞう==ゾウ)
(9)発音の同じ文字(じぢ==ずづ==いゐ==えゑ)
(10)カンマ==ピリオド==句点==読点
(11)括弧 () == [] == {} ==()==〔〕==[]
(12)新字体・旧字体・異体字(医学==醫學==医斈)
(13)カナ表現(バイオリン==ヴァイオリン)
(14)(エヌ・ティ・ティ==エヌティティ)
(15)空白の挿入 (ソ ニ ー==ソニー)
No.2ベストアンサー
- 回答日時:
(6)~(14)に関しても、手間を惜しまなければ、可能性があるような気がします。
考え方としては、大文字・小文字の比較と同じ手法です。つまり、長音記号やマイナスは全部ダッシュに、繰り返し記号は直前の文字に、ひらがなはカタカナに、と言った具合に、全部の文字を変換してしまうわけです。
データを、比較時点で関数で変換すると演算に許容できない時間がかかるようであれば、テーブル内のデータの方は事前に(たとえば挿入時点とか)変換して比較用の別のフィールドに格納しておくのもありでしょう。
変換用の規則データは、徐々に増やしていくのも手ですね。繰り返し記号はちょっとつらいですが、他の物は単純な文字変換に過ぎませんから、変換用のテーブルを一つ作って、変換関数からこれを参照するようにしておけば、だんだんと規則も拡充できるかもしれません。
要するに、基準を作って、その基準に合うように、比較元と比較先のデータを全部変換する規則さえ作れれば、後は、気合いと手間だけに集約されますね。
ただ・・・(3)~(5)は・・・規則を作るのも面倒だし、変換テーブルも莫大になりそう・・・さすがに、気合いでやるにはちょっと厳しいかもですね。
ご回答ありがとうございます。
なるほどなるほど、(3)~(5)以外はこつこつとやれそうですね。
大変参考になりました。ありがとうございました。
No.3
- 回答日時:
REGEXPで正規表現をつかえばたいていのあいまい表現は回避できるかと。
お礼が遅くなってすみません。
正規表現がどれくらいの範疇で使用可能なのかが見えないので、いろいろみたのですが、(1)ぐらいならOKということは図りましたが、それ以外があいまい表現が可能かどうかまだわからない状態です。上の(2)から(15)までで、どれが、正規表現で可能なのか教えていただけるとありがたいです。
No.1
- 回答日時:
基本的には、
完全一致(全てが一致)
前方一致(先頭から何文字が一致)
後方一致(最後から何文字が一致)
があります。
大文字/小文字 全角/半角 は比較対象をどちらか一方に統一する
ことで、検索できます。
空白文字のあるデータと、空白文字のないデータは、関数で、空白文字を削除した後、比較することもできます。
2 3 4 5 6 7 9 10 11 12 13 14 は難しいでしょうね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オープンソース csvデータのダブルクォーテーションで囲まれた文字内にあるカンマを削除したい 3 2022/09/02 15:17
- Visual Basic(VBA) WordのVBAについて 5 2023/01/11 14:38
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
- Windows 10 Win11で絵文字が一部表示されない 1 2023/08/02 19:46
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/08 09:05
- 日本語 漢字の意味について 3 2022/06/15 23:43
- SEO 関係ないページを検索エンジンが拾ってしまう 1 2022/05/14 11:16
- Excel(エクセル) Excelの列から検索して該当する行を別シートに転記するVBA 2 2022/12/20 09:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAでPDFファイルをMicro...
-
ローマ字文字列の半角←→全角変換
-
Visual Studio プロパティペー...
-
CString から LPCTSTRの型に変換
-
URLが日本語なのになぜ表示...
-
テキストをhtml変換するには
-
ファイル名の右側を変更したい ...
-
日付をシリアル値に変換
-
gccでiconvを使った文字コード...
-
文字コードの%E3%80%とは何です...
-
CSVファイルの中で、「 , 」カ...
-
EXCELからCSVにすると余計なカ...
-
Accessのテキストボックスの入...
-
英数字のみ全角から半角に変換
-
コマンドプロンプトでのsedの使...
-
プログラミングでは、半角括弧...
-
エクセルで数値を全角文字(カ...
-
全角英数字の必要性が理解できない
-
VB2005のTextBoxでカン...
-
何故、日本は未だに数字を3桁...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでPDFファイルをMicro...
-
文字コードの%E3%80%とは何です...
-
r18文学賞は文字数ではなく、枚...
-
Pythonについて。
-
CString から LPCTSTRの型に変換
-
Pythonについて。
-
テキストをhtml変換するには
-
SJIS->UTF8->SJISコード変換に...
-
シャープ(#)の受け渡し
-
gccでiconvを使った文字コード...
-
VBScript 全角英数記号→半角英...
-
【PHP】全角記号を半角記号...
-
ローマ字からカナに変換する方...
-
日付をシリアル値に変換
-
VB6にも「ToString」ってあり...
-
Visual Studio プロパティペー...
-
VBScript文字列をSJISからUTF8...
-
改行を含んだ文字列を正規表現...
-
SQLのデータで半角カナを全角に...
-
漢字からカタカナ変換マクロ
おすすめ情報