No.2ベストアンサー
- 回答日時:
パターンマッチをさせる為の関数が標準関数で用意されています。
文字列の中から、1バイト1文字があるかを探すなら、strchr()で可能です。
文字列の中から、文字列を探す場合、strstr()で可能です。
上記の例の場合、全角で探すので、strstr()を使用する必要があります。
単語があるかないか、という内容の処理で良いのでしたら、strstr()は、パターンマッチしなかった時、NULLポインタを返すので、
char str[32] = "1万円で会計を終えました。";
if ( strstr( str, "万" ) != NULL ) {
/* マッチした場合の処理 */
}
とすれば良いと思います。
No.5
- 回答日時:
http://www.boost.org/
ここにある正規表現ライブラリを使えば
正規表現によるマッチングが可能です。
ただ、もし扱う文字列が SJIS とかだったら一旦ユニコードに変換かける必要があります。MFCでリンクしたことありますけど、ちゃんと動きますよ。
参考URL:http://www.boost.org/
ここにある正規表現ライブラリを使えば
正規表現によるマッチングが可能です。
ただ、もし扱う文字列が SJIS とかだったら一旦ユニコードに変換かける必要があります。MFCでリンクしたことありますけど、ちゃんと動きますよ。
参考URL:http://www.boost.org/
No.4
- 回答日時:
>jacta様
ワイド文字処理のフォロー(と言うか回答)、ありがとうございました^^
マルチバイト文字として処理する方法もありますが、地域性依存があったと思われますので、jacta様の言われる通り、ワイド文字で処理をする方が良いのでしょうかね^^
文字コードが統一されきれていない今日において(そう簡単では無いのが現状ですが)、どの文字コードを基準に処理を行うかは、いつも頭を悩ませてくれる種です。
DirectXでも、ワイド文字列を入力値とするメソッドが出てきていますし、文字列の扱いに関しては、メモリ管理以外に、文字コードの現状を見ながらの判断が必要ですね。
No.3
- 回答日時:
正規表現などではなく、単に文字または文字列を検索するだけならCの標準機能だけでもできます。
ただ、漢字のような多バイト文字を使う場合はちょっと注意が必要なのと、完全な移植性は期待できません。
主要な処理系(の最新版)間で最も高い互換性が維持できる方法としては、次のようなものになるかと思います。
const wchar_t *p = wcschr(L"1万円で会計を終えました。", L'万');
これで、pに「万」の位置を指すポインタが格納されます。(見つからなければNULLです)
No.1
- 回答日時:
strstrなんていう関数があって、場合によっては使えるかもしれませんが、
Cには正規表現もパターンマッチもありません。
でも、Cでそれらが実現されているわけですから、
自分で頑張って作るなり、
どこからかそんな機能をするプログラムを拝借してくれば、
実現できます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C#の問題です。 文字列型の配列 s[100] にキーボードから入力された100文字以内の文字列(単 2 2022/06/22 15:18
- その他(言語学・言語) 外国語問題 1 2022/07/21 15:21
- 発達障害・ダウン症・自閉症 【吃音】 会話する時にすぐに吃(ども)ってしまいます。どうすれば噛まずに会話をできるでしょうか? 何 3 2023/02/04 17:57
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- 英語 1.35円/日本語文字数 1.8円/英単語数 の契約で1ヶ月に20翻訳した場合、どれくらいの金額にな 1 2023/05/28 22:08
- C言語・C++・C# C言語について。 3 2022/11/05 20:30
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- 恋愛・人間関係トーク 出会い系アプリでタイ人の可愛い子とマッチしたんですが あっちは30000円でエッチいいよって言って自 2 2022/06/20 00:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[正規表現] 数字範囲をヒット...
-
文章中全ての半角カッコ ( の...
-
非決定性オートマトンから正規...
-
正規表現で、ある文末に不一致...
-
Perl 数値にスラッシュを入れる...
-
bb を含まない正規表現
-
PS4コントローラーをPCでゲーム...
-
PCの表示の文書をコピーすると?
-
wordの何も書かれていない2ペー...
-
MMDでavi出力が出来ない
-
Excelはなんで先頭の0を消すん...
-
VBAでの Replace関数で、ワイル...
-
AIに回答させるって
-
EXCELで=より左の文字を一括で...
-
入力した文字を全て自動で全角...
-
パワーポイントのテキストボックス
-
パワーポイントで文字の上に線...
-
「彡」って文字はなんという文...
-
エクセルで文字列をtxtファイル...
-
マクロ処理でのループの記述に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaの正規表現で、マッチした一...
-
正規表現 秀丸エディタ 行頭か...
-
正規表現でシングルクォーテー...
-
[VBS] テキストファイルから任...
-
メールアドレスの正規表現について
-
正規表現でAND検索はできる...
-
Perl 数値にスラッシュを入れる...
-
[正規表現] 数字範囲をヒット...
-
正規表現です。括弧内にある複...
-
C言語のコメントを「正規表現」...
-
文章中全ての半角カッコ ( の...
-
C言語にパターンマッチってない...
-
grepの正規表現での最短マッチ...
-
正規表現で囲まれた部分の文字列
-
正規表現
-
さくらエディタでGrep検索する...
-
正規表現
-
時間の正規表現
-
正規表現を使って文字列をコピー
-
正規表現で、青空文庫形式の入...
おすすめ情報