• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:全角の比較は無理なのでしょうか。)

全角の比較は無理なのでしょうか?

Tacosanの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

いちおう念の為ですが, 「文字の扱いが楽になった」のは Perl5.8 以降といっていいと思います>#2. 5.6 より前 (5.003 とかの時代) ではあまり考えられていなかったし, 内部的に Unicode化した 5.6 も実際上はいろいろと問題があったはず.

nagahaha
質問者

お礼

情報有り難うございました。 お陰様で上手く行きました。

関連するQ&A

  • 文字列の比較と取得

    取得した文字列 $moji には以下のような郵便番号と住所が入っています。 111-2222 北海道 225-3535 東京 333-4545 沖縄 現在は以下の処理です。 if (preg_match(\"/北海道/\", \$moji)) { echo \"<font color=blue >寒い</font>\";} if (preg_match(\"/東京/\" , \$moji)) { echo \"<font color=green>首都</font>\";} if (preg_match(\"/沖縄/\" , \$moji)) { echo \"<font color=red >熱い</font>\";} 受け取った文字列が「東京」の時は上記から緑色の文字で「首都」と表示しています。 これを郵便番号「225-3535」で受け取った時にも同じように表示したいのですが上手くいきません。 未熟者でも解るように教えて頂ければ助かります。よろしくお願いします。

    • 締切済み
    • PHP
  • CGI コメント欄の文章を行替えしたいのです

    お世話になります。 野球スコアボードのCGIなのですが、コメント欄の文章がどうしても1列になってしまい、行替えができません。 文章で<br>を書き加えると、1行分のみしか表示されず、改行の2行目以降が表示されません。   以下の構成でどのようにすれば、文章の行替えが可能になりますか? アドバイスよろしくお願い致します。 <tr><td colspan=\"2\"> <font color=white>スコアボード<center> <table border=\"1\" bgcolor=\"#009933\" cellspacing=0 bordercolor=\"black\"> "; for($i=0;$i<@score;$i++){ print "<tr>"; @team_score=split(/,/,$score[$i]); if($i eq 0){ print "<tr>"; for($s=0;$s<@team_score;$s++){ if($s eq 0){ print "<td width=80> <font color=\"white\"> <center><i>チーム名 </td>"; }else{ print "<td width=\"20\"> <font color=\"white\"> <center><i>$s </td>"; } } print "<td width=40><font color=\"white\"><center><i>合計</td>"; print "</tr><tr>"; } $point=0; for($j=0;$j<@team_score;$j++){ print "<td><font color=\"white\">"; print"<center>"; if($team eq $team_score[$j]){ print "<b>" } print"$team_score[$j]</td>"; if($j eq 0){ }else{ $point=$point+$team_score[$j]; } } if($cnt[$i-1] eq $j || $i eq 0){ print "<td><font color=\"white\"><center>$point</td>"; }else{ print "<td> <font color=\"white\"><center>× </td> <td> <font color=\"white\"><center>$point </td>"; } print "</tr>"; $cnt[$i]=$j; } print "</table><p></td></tr>"; print "<tr><td bgcolor=\"#778899\" height=100> <font color=white>コメント </td> <td bgcolor=\"#f8f8ff\"> $cmt[$p] </td></tr>"; print "</table>"; print "<p><hr width=500><p>"; } } print " </body></html>"; exit;

    • ベストアンサー
    • CGI
  • 全角カタカナの確認

    perl 初心者です。 $str が全て全角カタカナかどうか確認したいのですがうまく行きません。 $str="アイウエオ"; などとして if ($str =~ /^[ア-ンーヽヾ]/){ print "OK\n"; } else {print "NG\n";} とすると、先頭の文字が全角カタカナかどうかの確認ができます。 ネット上の古い記事を見て if ($str =~ /^[ア-ン][ア-ンーヽヾ]+$/){ print "OK\n"; } else {print "NG\n";} としたのですが、NG になってしまいます。何処が違ってるのでしょうか。 [ア-ンーヽヾ] の部分は、「ーヽヾ」は先頭には来ないのでこうしたとのことです。 よろしくお願いしまう。

  • \はエクセルでは全角?

    半角文字の\はエクセル(VBA)では全角扱いなのでしょうか? 添付のマクロを実行すると結果は"全角だろう"になります。 \はStrConvでvbWideを指定しても全角になりません。 全角の¥はStrConv/vbNarrowで半角になります。 どういう理由でこうなっているのでしょうか? \以外にもこのような文字があるのでしょうか? ご存知の方、教えていただけないでしょうか。 Sub Macro1() ch1 = "\" ch2 = StrConv(ch1, vbWide) If ch1 = ch2 Then Debug.Print "全角だろう" Else Debug.Print "半角だろう" End If End Sub

  • 正規表現で全角数値の検出

    あるアプリで以下のような判定を行うことで全角数値をエラーとしています。しかし、実際は全角数値がきても全角数値として認識されずelse側に処理が進んでしまいます。 調べたところ下記のようなサイトが見つかり「use utf8;」が存在することで全角数値を検出できなくなっているようです。なので「use utf8;」をコメント化してみたのですが結果は同じで処理はelse側に進んでしまいました。 ※ローカル環境だと「use utf8」をコメント化すると全角数値を検出し、if文内の処理が行われる http://blog.livedoor.jp/sasata299/archives/51080322.html 何かほかに考えられる原因ってありますでしょうか? また、どうアプリにて変数$test, $test2の両方に全角数値の「1」が入っているにもかかわらず 片方は、全角数値として検出されもう片方は全角数値として検出されないという現象もありまして 変数の内容をバイナリ?で表示させて比較してみようと思うのですがどうやってやればよいでしょうか? use utf8; my $test = '1'; # 全角数値の「1」 if($test =~ /\D/) { print 'エラー'; } else { print '正常'; }

    • ベストアンサー
    • Perl
  • 同じようなタグと文字のパターンを簡略化する方法

    <table> <tr><td><font color="blue">あ</font><font color="red">い</font><font color="green">う</font></tr> <tr><td><font color="blue">あ</font><font color="red">い</font><font color="green">う</font></tr> <tr><td><font color="blue">い</font><font color="red">う</font><font color="green">あ</font></tr> <tr><td><font color="blue">あ</font><font color="red">い</font><font color="green">う</font></tr> </table> このような感じに同じパターンのHTMLタグと文字の羅列があるのですが、 タグが長くなりすぎて後から調整し直そうとするととても大変です。 <font color="blue">あ</font><font color="red">い</font><font color="green">う</font> 上記の部分を何処か別の場所から呼び出したりして簡略化することは出来ないでしょうか?

  • 至急この色の番号が欲しいのですが!

    こんにちは。 Windowsのロゴマークの4色ありますよね? 赤 緑 黄 青 この正確な色番号を知っている方がいらっしゃいましたら教えていただけませんでしょうか? <font color="red"> <font color="green"> <font color="gold"> <font color="blue"> でやったんですけども、いまいち黄色goldがらしくないように感じます。 そこで正確な色番号つまり#123456などを知っている方がいらっしゃいましたら教えていただけないでしょうか? お願いします。

  • Perlの正規表現(全角カナの判定について)

    Perlの正規表現について、教えてください。 HTMLのフォームからSJISでデータを受け取り、全角カナ(と、ーヽヾ)であるかどうかのチェックをしたいと思います。 if ($FORM{'FURIGANA'} =~ /(?:\x83[\x40-\x96]|\x81[\x45\x5B\x52\x53])/){ ; } else { ・・・・・ 上記であれば、$FORM{'FURIGANA'}に全角カナが一文字でも含まれていれば真、含まれていなければ偽で動くと思うのですが、では$FORM{'FURIGANA'}が全て全角カナであれば真、それ以外の文字が一文字でも含まれていれば偽という判定をするにはどのような表現にしたらよいのでしょうか。 いろいろ試してみたのですが、どうもうまくいきません。どうかお知恵をお貸し下さい。

    • ベストアンサー
    • Perl
  • 変数の比較

    (1)FORMで入力した値($form)を次のページで表示する。 (2)DBからデータを取得し、配列($dbdata[])に入れる。 (1)と(2)を比較したいのですが、一向に上手くいきません。 if( $dbdata[2] == $form ) { print "一致<BR>"; }else{ print "不一致<BR>"; } こういう風に行っているのですが、なにかおかしな点はありますでしょうか?

    • ベストアンサー
    • PHP
  • 文字列に半角・全角スペースが入っているかをチェックする関数のおかしな結

    文字列に半角・全角スペースが入っているかをチェックする関数のおかしな結果? 下記コードのように「文字列に半角・全角スペースが入っているかをチェックする関数」を作りました。 $textに入る文字列に半角・全角のスペースが入っているかをチェックします。 -------------------------------------------- my $text = "東 京"; if( isSpace($text) ) {   print "スペースあり"; } else {   print "スペースなし"; } sub isSpace{   my $str = shift || return(undef);   if( $str =~ /.*[\s ]+.*/ ){     return(1);   }else{     return(0);   } } -------------------------------------------- しかしなぜか1行目を my $text = "メ"; とするとスペースが入っているという結果になってしまいます。 なぜ「メ」が入ると半角もしくは全角のスペースとみなされてしまうのでしょうか? また、どうすれば正しくチェックできるようになりますか? よろしくお願いします。

    • ベストアンサー
    • Perl