• ベストアンサー
  • 困ってます

全角英数字のみ半角英数字にするには。

VisualC++6.00 を使用しています。 ダイアログのエディットボックスで入力された文字を、 全角英数字のみ半角英数字にしたいのですが、 LCMapString だと、カタカナも半角になってしまいます。 英数字のみ半角にするには、どのようにすればいいでしょうか。 よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数1075
  • ありがとう数15

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.3

ほかにも正規表現のライブラリはいろいろありますね。 例えば BREGEXP DLL http://www.hi-ho.ne.jp/babaq/bregexp.html とか VC++ 6.0 の .lib も用意されていますし、文字列の置き換えも出来るようです。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

お返事が大変遅くなり、すみません。 上記、BREGEXP.DLL で、無事実現できましたっ! しかも、簡単にっ! VCでPerlの正規表現が使えるなんて、感動ですっ! すごく便利ですっ 今までは、文字列の操作をたくさんする時は、 VCとPerlを組み合わせてましたが、 これからはこれが大活躍しそうですっ ありがとうございましたっ!

関連するQ&A

  • EXCEL 「ASC」関数  英数字の全角を半角に変換するよい方法があれば教えてください

    EXCELで入力しているデータをフィルターを使用して検索できる データベースにしたいのですが、以前からの入力しているデータの英数字が全角、半角が混在していてます。 フィルター検索の際に全角で入力すると半角入力のものがヒットしないので不便で、英数字の半角統一にしたいと考えています。 ASC関数を使用して英数字の全角→半角を行なうこと考えたのですが ASC関数ですとカタカタも半角カタカナに変換されるので 英数字だけを全角→半角にする関数や方法などあれば教えてください。 入力データは 漢字、ひらがな、カタカナ、英数字が混在しています。 希望 全角→漢字、ひらがな、カタカナ 半角→英数字 宜しくお願い致します。

  • 英数字の全角と半角はどう変えたらいいのでしょうか。

    ウインドウズから初めてマックを導入している初心者です。 英数字の全角と半角はどのようにして変えたらいいのでしょうか。 大文字小文字はシフトキー押しながらで変わったのですが、全角と半角だけがうまく変換できません。

    • ベストアンサー
    • Mac
  • なぜ英数字を半角にする人が多いのか?(なぜ英数字以外の記号は半角にしないのか?)

    ネット上を見てると、英数字……取り分け数字は、 どんな場合でも(1桁でも2桁でも関係なく)半角にしている人が多いように思えます。 これはなぜでしょうか? 「それは昔からの決まりだから。」と聞いたことがあるのですが、 そういう人の中には、僕が思うに英数字を半角にしているだけで、 「!」「?」「#」「&」など、カタカナ以外の半角にできる記号を、半角にしていない人がいるんです。 これっておかしいと思います。 おそらく英数字を半角にするのが昔からの決まりだったのは、 昔のパソコンを使っていた人の多くが1バイト文字を使っていたからでしょうし……。 それなら、カタカナは別として、英数字だけでなく、他のすべての記号を半角入力するべきだと思います。 英数字だけ半角なんて、絶対中途半端だし、変です。 「英数字だけ半角にするのに、他の記号は半角にしない理由。」 回答お待ちしております。

その他の回答 (2)

  • 回答No.2

……#1 さん、質問よく読もうよ。「VisualC++6.00」って書いてあるでしょ? その人に .NET での解決法を教えてどうするんだよ……。 まあ、「正規表現をつかえ」という意見はもっともなんですが。 というわけで VC6.0 で正規表現を使うにはどうしたらいいかですが、やはり Boost の正規表現が一番手っ取り早いのではないかとおもいます。 http://www.boost.org/ 英語が読めるのであれば、以下のページで書かれている regex_replace を使って #1 さんご呈示のプログラムを書き換えるのは簡単かと思います。 http://www.boost.org/doc/libs/1_57_0/libs/regex/doc/html/boost_regex/ref/regex_replace.html

共感・感謝の気持ちを伝えよう!

質問者からの補足

お返事が遅くなり、申し訳ありません。 アドバイスありがとうございます。 boostの正規表現を用いてみようと思い、 VisualC++6.00には、そのライブラリがないようでしたので、 boostをインストールし、 ビルド、パスを通すなどの設定を行い、 下記ヘッダファイルのインクルードを記述してコンパイルすると、  #include <boost/regex.hpp> 以下のエラーが出てしまいました。 visualc.hpp(43) : fatal error C1189: #error : "Compiler not supported or configured - please reconfigure" boostのサイトによると、 2008 以上でないと使用できないようですね。 VCで正規表現が使えたらすごく便利かと思ったのですが、残念です。。。 でも、boostの存在を知らなかったので、すごく参考になりました。 今後、8 以上にUPする事があったら、使ってみたいと思います! ありがとうございました。 他に何かやり方があったら、ご教授下さい。 よろしくお願いします。

  • 回答No.1
  • bin-chan
  • ベストアンサー率33% (1403/4213)

正規表現を用いる。 キーワード「全角英数字のみを半角に変換するには?」でググったら、 検索結果TOPに「www.atmarkit.co.jp」さんのサイトがあります。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • 半角カタカナを全角カタカナに変換したい

    Windows2000/Microsoft Excel2000です。 入力されている文字列のカタカナが半角になっているのを 全角に一括変換する数式はありますでしょうか? 英数字は半角のまま残したいのですが。 JISを使うと英数字も全角になってしまいます。 ヘルプいただけると大変助かります。

  • 入力された全角英数字だけを見つけて半角に

    掲示板の本文に打ち込まれた【全角】ローマ字&数字を 自動で【半角】化してくれるようなスクリプトを探しています。 本文テキストフィールドのonBlur時に使えたらと思っています。 本文なので、英数字だけでなく日本語(全角)も入ります。 ただ、英単語もしばしば使われるので、過去ログの検索効率のため、 英数字は全てを半角で統一できたらと思いまして...。 テキストフィールドに入力された本文から 全角のローマ字&数字だけを見つけ出し、それだけ半角化する、 こんなワガママを可能にしてくれるスクリプトや参考になる サイトさんがどこかにありませんでしょうか?

  • Excel カタカナと英数字の混在セルでカタカナのみ全角にする

    同じセルの中に、半角カタカナと英数字が混在しています。 カタカナのみ全角にし、英数字は半角の設定のままにする関数を教えてください。 アイウエABCショウジ(半角カタカナ+半角英数字) ⇒ アイウエABCショウジ(全角カタカナ+半角英数字)

  • Excelの半角英数字の入力について

    Excelで、あるセル、又は行全体に入力するときに半角、全角の入力にかかわらず、入力したものは必ず半角に変わるようにするにはどうすればいいでしょうか? また、漢字かつ英数字の混合文字列に対して、英数字だけは、全角で入力しても半角に変えてくれるようにするにはどうすればいいでしょうか?

  • 常に全角英数字入力にしたい

    こんにちは。このたびパソコンを買い替えました。ソニーVAIOです。 ちょっと使ってみたのですが,「英数」にすると,必ず半角英数文字入力になります。 私はこれまで常に全角英数字で入力してたので,このパソコンでも全角英数字で入力したいのですが,どうやれば全角英数字入力になりますか? ちなみに,この質問,VISTAのパソコンを購入したときにも行いました。今回はこの時の質問をもとに, 右下の「あ」(またはA)の上で右クリック→プロバティ→詳細設定→テンキーからの入力→常に全角に設定したのですが,英字は今でも半角のままです。 よろしくお願いします。

  • エクセルで英数字のみを半角にしたい。

    エクセル2000を使用しています。 1つのセルにカタカナと英数字が混在しています。 英数字のみを半角にすることはできるでしょうか。 「ASC関数」を使用したら、 カタカナも半角になってしまいました……。

  • Excel。英数字カタカナ混ぜこぜのセルで、カタカナのみ全角にする方法は?

    とっても基本的なことで困ってます。 Excelの1つのセルの中に、英数字カタカナがごちゃ混ぜのデータが入っています。英数字は全角の場合もあれば半角の場合もありです。片仮名もしかり。 そのデータを、英数字のみ半角にし、カタカナは全角に修正したいんです。 間違ってASC関数を使ったら、カタカナまで半角になっちゃった・・・・。 本日午後一のミーティングにそろえなきゃいけない資料なんです! 誰かーーー! 助けてーーーー!!

  • 全角英数字するには

    こんにちは。超初心者的な質問をさせてください。 ここんとこ我がパソコンの調子が悪く、昨夜思い切ってOS(VISTA)を入れ直しました。 今日一日かけてなんとか元の設定に戻したのですが、どうしてもわからないところがあります。 私は英数字を入力するときは全角文字で入力するようにしてるのですが、「英数」のキーを 叩くと半角英数字入力になってしまいます。これを全角英数字にするにはどういう設定が必要 なのでしょうか? なお、Microsoft Office IME 2007を使ってます。

  • 全角英数字を半角にしたいんです。

    たとえばメールなどで送られてきた全角の数字をメモ帳上などで半角に直す方法ありますか? また全角英数字を半角に直すソフトなど知ってましたら教えてください。

  • エクセルでひらがな・漢字はそのままでカタカナを全角・英数字を半角にする方法

    エクセル2000を使っています。 会社で住所録作成を引き継ぎましたが、 一つのセルにひらがな、漢字、カタカナ、英数字 が半角・全角ごちゃ混ぜで入っているので 管理がしづらくて困っています。 例えば、 あいうアジアNET株式会社 株式会社ABC123 などなど・・・・ ひらがな・漢字はそのままで、 カタカナを全角、英数字を半角にする方法は ありませんか? 最初にASC関数を使ってみたらカタカナも半角になり、 Phonetic関数を使うと、 カタカナだけ全角になりましたが、 ひらがなまでカタカナになり・・・ JIS関数も試しましたが今度は英数字まで全角になり、 どうしたものかと困っております。 よろしくお願いします。