ロシア文字のマッチングについて

このQ&Aのポイント
  • ロシア文字の排除方法について質問です。
  • Shift-jisでカタカナのマッチングに誤判定が起こっています。
  • ロシア文字を回避する方法はありますか?
回答を見る
  • ベストアンサー

ロシア文字のマッチングについて

ロシア文字の排除をしたいと思い、 以下のように記述してみたのですが カタカナの「ヤツ」「ヤッ」に以下でマッチングしてしまいます。 文字コードはShift-jisを使用しているのですが 誤判定を回避する策はないでしょうか? roshia_moji=qw(А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я); foreach (@roshia_moji) { if (index($a,$_) >= 0){ push(@error, 'ロシア文字は使用できません。');last; } }

  • Perl
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

通常、Shift_JISの2バイト文字は「2文字」として処理されます。 'ヤツ'は2文字ではなく、 "\x83\x84\x83\x63" の4文字です。 同様に、このロシア文字も2バイト文字なので、それぞれが2文字扱いです。 ここで、'с'は"\x84\x83"です。 この"\x84\x83"がヤの2バイト目+ツの1バイト目と一致します。 対策は、次のどちらかになります。 ・2バイト文字を考慮するものを利用する。場合によっては自作する。 ・Encodeモジュールを使って、 utf8文字列にdecodeする。 utf8文字列にすれば、多バイト文字でも「1文字」扱いになるので、index等が普通に使える。

masa-25
質問者

お礼

なるほど、そのような理由だったのですね。 utf8で試してみたのですが、たぶん私の記述に問題があったのだと思うのですが 誤判定が多かったので、これに2バイト目が83で終わる文字すべてを指定して その文字があったらロシア文字として扱わないようにしました! どうもありがとうございました!!

関連するQ&A

  • これは何語ですか?

    Щöжзæşðքռիծöตาบไöپйیگюرཀھэତୌବщг ତзગદոհռղֆપૈબօગطტფა

  • ロシア語のラテン文字表記

    ロシア語のラテン文字表記法はいろいろあるようですが、実際は個人によって書き方にばらつきがあるようですね。みなさん(ロシア語をラテン文字で表記する機会のある方)は主にどの表記法にならって書いていらっしゃいますか?特に以下の文字の表記に興味があります。 я, ы, й, х, ц, щ 私は、щ 以外は順番に ja, y, j, h, c と書いているのですが、щはあまり書くことがないのでいつもどう書こうか迷います。shchは長過ぎるので結局shかschで済ませているのですが…。ちなみに知り合いは ы を i と書くのですが、なかなか読むのが慣れません。まぁお互い様なのでしょうが…(汗)。

  • ロシア語?のカメラの名前が読めません

    ロシアカメラについての質問です。 友達の持ってるカメラで、名前がわからないものがあります。 (中古屋で見つけたトイカメラというものらしいです) ロシア語っぽい言葉でカメラ名らしきものが書かれているのですが、 ロシア語の知識がまったくないので、何と読むのかわかりません。 似ている記号を出したので、もしかしたら 正確に合ってはいないかもしれませんが・・・下のものです。 ш к о л б н и к これは何と読むのでしょうか?ギモンに思ってます。 あと、このカメラについて何か知っている方がいらしたら ぜひ教えてください。 よろしくお願いします。

  • たぶんロシア語だと思うのですが、訳してください。

    Twitterで下記のような文章が送られてきました。 内容が気になるのでどなたか訳してください。 翻訳サイトではなぜか訳せませんでした。 よろしくお願いいたします。 В руcскoм языкe вce лoгичнo: Дyб-дyбинa, cкoт-скотина. Teпеpь пoнятнo, откyдa пoшлo нaз вaние автoмобиля "Kaлинa"?

  • ロシア語のカタカナ表記

    ロシア語を勉強しようと思う者ですが、参考書等に あいうえお⇒аиузо等と書いていますが、 この考え方でいけば、たちつてと⇒はTの代わりにЧ(ちゃ、ちゅ、ちょも同様) らりるれろ⇒Рの代わりにЛ(りゃ、りゅ、りょも同様 じゃじゅじょ⇒はЖも使える。しゃしゅしょ⇒はШも使える。 厳密には発音は違うと思いますが、カタカナで読みの練習にするだけと考えれば 上記のように考えても良いでしょうか? このような、考えに至ったのはあくまで看板などの発音をしてみたいという動機です。 あと、これだけでは読むことができないルール例外的ルール等ありましたら教えて下さい。 宜しくお願い致します。

  • ロシア語アルファベット表の3文字について

    サンクトペテルブルクで行われているG20のニュースを見ていて, ロシア語のキリル文字33個について疑問に思うことがありますので 質問させていただきます。 ロシア語については全くの素人なので、レベル的には恥ずかしい質問かもしれませんが よろしくお願いします。 http://www.geocities.jp/aydahn42df5/russia3.html 33文字のうちЙ、Ъ、Ьの3文字については文字の名称として「イークラトコエ」、 「トヴョールドゥイズナーク」、「ミャーフキーズナーク」と書かれています。 これはあくまで文字の名前であって、その通りに発音するわけではないことはわかるのですが。 http://www.geocities.jp/aydahn42df5/russia3.html ベストアンサーの方が記述されている回答内容もわかります。 私が疑問に思ったことは、他の30個の文字、例えば Ё  ё  は  ヨー Ж  ж  は  ジェー    というように「ヨー」や「ジェー」といった一文字、二文字の名称ならば 別に何とも思いません。 しかし上に記載したЙ、Ъ、Ьについては 「イークラトコエ」、 「トヴョールドゥイズナーク」、「ミャーフキーズナーク」 という長い文字の名称になっています。 「トヴョールドゥイズナーク」はローマ字表記でtvjordɨj znak、 「ミャーフキーズナーク」 はローマ字表記でmjakhkij znak     「「イークラトコエ」はローマ字表記でi-kratkoje 私は、この長い名称自体に何か意味があると思うのです。 例えば単純に「ミャーフキーズナーク」は軟音記号、そのものの意味でよいのか。 それともキリル語の語源から何か別の意味があるのでしょうか。 ロシア語のアルファベット表を眺めていて疑問に思うのです。 自宅には当然にロシア語やキリル語の辞書はないですし(大学ではフランス語選択)、 HP等でいくつか検索してみましたが、適切な回答が見つかりません。 私の検索不足、努力不足には目をつぶっていただき、ロシア語に詳しい方に ご教示をお願いしたいと思います。 「イークラトコエ」、 「トヴョールドゥイズナーク」、「ミャーフキーズナーク」 の3つについてです。

  • 文字のマッチングについて

    Perl初心者でわからなくて困っています。 以下の2行の数値部分の12.3と12をどちらの場合でも、1行の処理でマッチングする方法について、教えていただければ幸いです。 <aaa>12.3</aaa> あるいは <aaa>12</aaa> 12.3の場合は、=~ /(\d+)\.(\d+)/ 12の場合は、=~ /(\d+)/ でマッチさせたのですが。

    • ベストアンサー
    • Perl
  • ロシア土産の文字、なんて書いてあるのでしょうか

    知人からロシア土産として「MOSCOW」と大きなロゴがプリントされているチョコをいただきましたが、小さいロゴで以下のような文字がプリントされています。 SOUVGNIR ネットで調べても掲載されていない文字があり判別ができないのですが、何とか書かれているのか教えていただけますでしょうか。 文字は8文字で、「S」「G」「R」のような文字がわかりません。「S」「G」以外の文字は見たままです。 S…Sの下の払いの下にもう一つ払いがあり、Sを上下にずらして重ねたような文字です。 G…Cを書いた終わりのところからSの終わりの払いが出ています。CとG(g)を上下にずらして重ねたような文字です。 R…Rが左右反転したものではありません。見たままのRです。 英語のSOUVENIRかなと思ってGoogle翻訳で英語→ロシア語変換しましたら全く別の単語になりました…。

  • ロシア文字を記号にしていいですか

     先日、NHKで発達障害のことをやって、日本語の言葉を表す記号にロシア文字が使われていました。  ロシア文字に英語のアルファベットのようにある発音の規則があると思うんですけど。

  • マッチングアプリでマッチングできません

    1か月ほど前に恋人に振られました。 とてもつらい時期は乗り越えることはできたのですが、毎日つよい孤独感を感じてしまいます。 現在、出会いの機会は全くなくて、これから先はさらに男社会での生活をしていく事になると思い、 withというマッチングアプリを始めて見たのですが、「いいね」をひとつも頂くことができません、 こちらからは、同じ地域に住む、一度話してみたいなと思う人に、「いいね」はしているのですが、、 プロフィールの文章なども手を抜かずに真剣に書いたつもりです。 確かに見た目だけで勝負出来るほど優れた見た目はしていませんし、また、アプリ上で参考にと見れる男性会員の方は皆さんは相手には全く困った事なんて無さそうで、男の僕からみても格好良いとしか言いようのない方ばかりでした。 自分が大学院生で同年代の方に比べると、しっかりとした収入源などがないことも影響しているのかもしれません。 僕みたいな人間はマッチングする事は不可能なのでしょうか。ただのひとりからも見向きもされないとなると頑張ることも、学んで次に生かすこともできないです。 どうかアドバイスお願いいたします。

専門家に質問してみよう