• ベストアンサー

変数内の文字の数

変数内に指定された単語が含まれている数を変数に 代入する方法ってありますか? 例) 変数$aには あなたの恋愛傾向を知ることから 無料・恋愛診断で深層心理を診断。 が入っている。 この中から「無料」又は「むりょう」を見つける。 結果は$bに代入する。 $b = 1 となる。 よろしくお願いします。

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

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

use encoding 'cp932'; #Shift_JIS $a="あなたの恋愛傾向を知ることから 無料・恋愛診断で深層心理を診断。"; $b=($a=~s/無料|むりょう/$&/g); print $b;

その他の回答 (2)

回答No.3

my $b = 0; $b++ while ($a =~ /無料|むりょう/g); プログラムの先頭の方で use encoding でエンコーディングを適切に設定しておかないとちゃんと動かないかも知れません。

  • jikenjp
  • ベストアンサー率38% (5/13)
回答No.2

>fouhttp さま、>BLUEPIXYさまへ、こんにちは。はじめまして。 私も、実験してみたのですが、なんで動かないのかと思ったら、下記のように、すると動くことわかりました。(自分のせいです。"Fedore Core 3" のため) use encoding 'utf8'; #UTF-8

関連するQ&A

  • C# 変数を変数で指定したい

    UnityとC#でプログラミングの勉強をしている者です。 「操作する変数」を、変数を使って指定するにはどのような方法を使えば良いのでしょうか。 以下、例となります。 aという変数、およびb1、b2、b3……という変数があるとしたとき、 「a=1ならば、b1に1を代入する」 「a=2ならば、b2に1を代入する」 「a=3ならば、b3に1を代入する」…… という処理をする方法を探しています。 よろしくお願い致します。

  • 変数について

    Perlを勉強し始めました。 いままでプログラミングを組むことがなかったので、全くの素人 なんですが、いきなり壁に当たりました。 変数のところを勉強してるんですが、 $a=1; $a +=2; print $a みたいな感じで書かれてるのをみて、ふと疑問が。 $aに1を代入する。 $aに、$a+2を代入して、$aを表示ってことですよね。 $b +=2;にして、print $bにしないで、なんで $aに、$a+2を代入するんでしょうか?? $aは、すでに1を代入していて、$aは『1』としてるわけじゃないですか。 その$aに、また$a+2を代入するという発想がさっぱり理解できません。 普通に、$bにすればいいじゃん、その方がすっきりするじゃん、って思うんですが、なんでこんな記述方法にするのかわかりやすく教えていただけたら助かります。

    • ベストアンサー
    • Perl
  • perlの内容なのですがこれで合っていますでしょうか?

    print 関数は文字列や数値だけでなく、変数を指定してその値を表示することもできます。 $a=1; 1を$aに代入する。 print $a; 変数$aの値を表示させる。 $a=2; 変数$aに2を代入する。 $b=3; 変数$bに3を代入する。 print "変数\$aに変数\$bを代入\n"; 「変数$aに変数$bを代入」という文字を表示させて改行する。 $a=$b; 変数$bの値を変数$aに代入する。 print "\$a="; 「$a=」を表示させる。 print $a; 変数$aの値を表示させる。 print ",\$b="; 「,$b=」を表示させる。 print $b; 変数$bの値を表示させる。 print "\n"; 改行を表示させる。 実行結果は↓↓↓↓↓↓↓ 変数$aに変数$bを代入 $a=3,$b=3 変数の書き方 文は ; で区切るが、1行に並べることも可能。 $a=2; $b=3; ↓ $a=2; $b=3; 複数の変数に、同時に値を代入することも可能。 $a=2; $b=2; ↓ $a=$b=2;

    • ベストアンサー
    • Perl
  • [VBS]変数を定数に変換する方法を教えて下さい。

    初心者です。 ある実行結果を持っている変数から、新たにリテラル文字列として変数を 代入する要件があり、クリアできず非常に困っています、、、。 どなかたご教示頂ければと思います。 以下例、変数Aのリテラル定数を変数Bに代入したいのですがやり方がわかりません。 (単純にリテラル文字列として渡したいです。) 【例】 -------------- A = "123" const B = A msgbox B -------------- よろしくお願いします。

  • String型の変数に代入されている2つの文字列を論理演算したいです。

    String型の変数に代入されている2つの文字列を論理演算したいです。 上記の通りなんですけど 例えば String a = "あいうえお"; String b = "aiueo"; このような二つの文字列を論理演算したあと 16進数の文字列としてあらたな変数(String型)に代入したいのですが どのように記述すればよろしいでしょうか? 初心者なものでわかりやすく説明していただけるとありがたいです。

    • ベストアンサー
    • Java
  • 変数

    エクセルマクロについて質問です。よろしくお願い致します。 通常、例えば「sheet1」という名前の付いたワークシートを選択する場合、  sheets("sheet1").select と記述するかと思います。そこで質問です。変数を使って、操作する人が選択した任意のワークシートを指定するためにはどのように記述すればいいでしょうか。 例)  ・変数「年度」を宣言する。  ・操作する人が選択した任意の年度を「年度」に代入する。  ・「年度」に1999と代入されたときは「1999」と名前の付いたワークシートを選択する。  以上お願いします。

  • 同じ値が代入されている変数の数を数える関数を教えて下さい。

    下記の5つの変数があるとします。 $test1 $test2 $test3 $test4 $test5 これらの変数のなかに、「あいうえお」と言う値が入力されているものが「一つ」又は「なし」の場合にTrue、一つ以上の場合にFALSを返したいのですが、どのような関数を使えばよいのかヒントを下さい。 例1: $test1 = あいうえお $test2 = あいうえお $test3 = たちつてと $test4 = なにぬねの $test5 = はひふへほ 結果:FALS 例2: $test1 = あいうえお $test2 = かきくけこ $test3 = たちつてと $test4 = なにぬねの $test5 = はひふへほ 結果:TRUE 例3: $test1 = かきくけこ $test2 = かきくけこ $test3 = たちつてと $test4 = なにぬねの $test5 = はひふへほ 結果:TRUE まずは$test1から$test5までのうち「あいうえお」と入力されているものを数えて、その数が1よりも大きければFALS、1又は1よりも小さければTRUEを返せばよいのは”論理的には”分かります。しかし、「$test1から$test5までのうち「あいうえお」と入力されているものを数える」ための関数が分かりません。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 任意の文字列を変数にする方法

    お世話になります。 掲題の件につきまして質問させていただきます。 テキストファイルに記述されている文字列を ルールにのっとり、読み込んだ変数に置き換える方法が よくわかりません。 ご存知のかたがいらっしゃいましたらどうぞご教授ください。 例) <テキストファイル> ☆☆☆$hensuu☆☆☆ <vb> (1)テキストファイルより、上記文字列を取得 (2)$以下の文字列(hensuu)をvbで宣言した変数(hennsuu)と置き換える。 (3)vb側でhennsuu = 100とすると、 vbからテキストファイルを読み込んだ時点で hennsuuに”☆☆☆100☆☆☆”と代入される。 わかりづらい例で申し訳ありませんがどうぞよろしくお願い申し上げます。 失礼いたします。

  • EXCEL2010 VBA 変数への代入

    EXCEL2010のVBAを使用しています。 処理で繰り返しの処理があります。 繰り返しのたびに変数Aに変数A+セルの番地(A1等)を代入していきたいのですがうまくいきませんどうすればよいでしょうか? 説明が下手ですみません。 ようするに変数の中の値を上書きせずに、現在の値を後ろに追加したいということです。 (例) 変数Bは最初は「1」 繰り返し1回目  変数A =変数A&Cells(1,変数B)   ’変数Bは繰り返しのたびに1ずつ増えます 繰り返し2回目  変数A =変数A&Cells(1,変数B) 一回目は変数AにはA1が入る 2回目の処理時にはA1B1というふうになり、上書きされず追加で代入される。 というようなイメージです。

  • 多次元配列?配列のキー?変数の型?

    PHP勉強中のものです。 予定通りの動作にならんく四苦八苦しています。 どのように修正すれば予定通りになるのか考え方のアドバイスなどお願いします。 処理したいこと 変数$xxxの先頭の文字と最後の文字をsubstr()で取り出し$aaaと$bbbに別けそれぞれ代入しキーとして多次元配列に代入した配列要素を指定してechoで出力したい 試してみたこと $aaa1と$bbb1に直接整数を代入してみたところ、echoで出力された キーになる変数を整数型として変数に代入してみたが希望通りの動作にならなかった。 なにかアドバイス頂けると助かります。 $array = array( "0" =>array("あいうえお","かきくけこ"), "1" =>array("さしすせそ") ); $xxx = "0-1"; $aaa = substr($xxx,0,1); $bbb = substr($xxx,2); $aaa = (int)$aaa; $bbb = (int)$bbb; echo $array[$aaa][$bbb]; //出力されない $aaa1 = 0; $bbb1 = 1; echo $array[$aaa1][$bbb1]; //出力された $aaa = (int)$aaa; $bbb = (int)$bbb; echo $array[$aaa][$bbb]; //出力されない

    • ベストアンサー
    • PHP

専門家に質問してみよう