重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

データとデーターのように標記のゆれがある文書があるとします。これをデーターのように、最後に長音を付加する表現に統一する正規表現による置換はありますか。単純に データ → データー と置換すると データーが データーー となってしまいます。その後 ーー → ー とすればよいのでしょうが、一発でできる方法があれば教えてください。

質問者からの補足コメント

  • うれしい

    みなさま、回答をありがとうございました。

    こちらの質問の仕方が悪く、外来語をカタカナの羅列と考えて一般的な処理方法をやりたいのではなく、特定の単語(データとかスキャナといった)だけを処理できればよかったのです。この意味でめぐみん_ さんの回答はずばりでしたので、ベスト回答とします。

    正規表現の知識が不十分で、置換後の文字列に \1 を付けるテクニックを知りませんでした 。動作はsakuraエディターで確認しました。大変勉強になり、ありがとうございました。

      補足日時:2021/07/30 08:23

A 回答 (3件)

置換前:データ([^ー])


置換後:データー\1

テキストエディタ:Genay にて検証。
    • good
    • 0

テストデータ、データセンターなど考えると


判定が難しいのでやめたほうがよいかも
へんな話サンデータイムスとか「データ」ではないものも
判定しないといけません
    • good
    • 2

外来語を片仮名の羅列すべてとするならば、



まずは片仮名の文字コードの範囲を調べます
https://ja.wikipedia.org/wiki/片仮名_(Unicodeのブロック)

片仮名は U+30A0 から U+30FF までの範囲
長音は U+30FC

長音以外の片仮名と、片仮名以外の文字または文末の間に、長音を加える置換をします
置換前: ([\u30A0-\u30FB\u30FD-\u30FF])($|[^\u30A0-\u30FF])
置換後: $1\u30FC$2

置換例
メロスは、ヴィレッジの牧人である。パイプをブロゥし、シープと遊んで暮して来た。けれども邪悪に対しては、ヒューマン一トゥワイスに敏感であった。きょうグレイオブモーニングメロスはヴィレッジを出発し、フィールドを越え山越え、十ホームはなれた此このシラクスのシティーにカムアロングした。- 「ラン メロス」よりルー語変換

メロスーは、ヴィレッジーの牧人である。パイプーをブロゥーし、シープーと遊んで暮して来た。けれども邪悪に対しては、ヒューマンー一トゥワイスーに敏感であった。きょうグレイオブモーニングメロスーはヴィレッジーを出発し、フィールドーを越え山越え、十ホームーはなれた此このシラクスーのシティーにカムアロングーした。- 「ランー メロスー」よりルー語変換
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!