- ベストアンサー
変数の中の文字列から特定の文字の数を数え
宜しくお願いします。 変数「$koumoku」の中に「1-1」や「1-2-3」といった文字列が格納されているとします。この中のハイフンの数を数えてそれぞれ別の表示をさせたいと思います。 $kosuu=$koumokuの中のハイフンを数える if($kosuu eq 1){(1)を表示} elsif($kosuu eq 2){(2)を表示} elsif($kosuu eq 3){(3)を表示} ~~ この「$koumokuの中のハイフンを数える」と言うのはどのようにしたら良いでしょうか? ちなみに、$koumokuには数字とハイフンしか入りません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- sakusaker7
- ベストアンサー率62% (800/1280)
- auty
- ベストアンサー率58% (284/486)
関連するQ&A
- 変数に格納できる文字数の限界
お世話になります。 題名の通り、Perlで変数に格納できる文字数の限界は あるのでしょうか? 100文字くらいの文章を変数に入れることができません。こういった場合はどうしたらいいかアドバイスを頂けませんでしょうか。 $shou=$1 if/\{第1章\}(.*?)/; というように{第1章}に続く文章(大体100字くらい)を抽出して、それを変数に入れたいのですが、 $shouを表示させようとしても何も表示されません。 どうぞよろしくお願いします。
- ベストアンサー
- Perl
- PHPで特定の変数値を取り出す
PHPの関数で変数に $str="1-a"; と格納されているものがあります。 ”-”ハイフンまでの文字「1」を取り出したい。 ”-”ハイフン以降の文字「a」を取り出したい。 とやりたいのですが いい関数はございませんでしょうか? よろしくお願いします。
- ベストアンサー
- PHP
- 変数に格納されている特定の文字列のフィールド番号を抜き出したいと考えて
変数に格納されている特定の文字列のフィールド番号を抜き出したいと考えております。 お世話になります。 現在、変数に格納されている特定の文字列のフィールド番号を抜き出したいと考えております。 例として下記名前を指定した変数が有るとします。 NAMEFILE="愛 麻衣 美衣 魔印" このとき「美衣」をgrepすると「3」を言う数値を返したいと考えております。 色々探して「match関数の RSTART」にて行いたい事と近い事が出来たのですが、 開始文字を抜き出す為、かえってくる数値は「6」となってしまいます。 行いたい事として、この場合区切り文字をスペースとし左側から数を抜き出したいのですが 何か良い情報は有りませんでしょうか。 知恵をお借りできたらと存じます。よろしくお願い致します。
- 締切済み
- Linux系OS
- 変数内の文字列を指定した数のみ表示。
こんばんわ。 PHPで変数の中にこんな文字列があったとします。 $a="最近Okwebのサイトのデザインにもだいぶ慣れてこっちのほうがよいのでは。と思うようになってきました。" 普通に表示させるならこれだけと思うんですが、 echo $a 任意の文字数を表示させる関数が思い出せないし検索しても引っかからないです。 アドバイスいただけるとありがたいです。 よろしくお願いします。
- ベストアンサー
- PHP
- 変数の中身から特定の文字を置き換える
$testという変数に、 あいうえお<br>かきくけこ<br>さしすせそ<br> という文字列が格納されているとします。 この時、含まれている特定の文字(ここでは<br>)をスペースに置き換えて、 あいうえお かきくけこ さしすせそ と表示したいのですが、どうすればいいでしょうか?
- ベストアンサー
- PHP
- 変数内の特定の文字の数を数えたい
パール初心者です。 基礎的なことは知っています。フリーCGIのある程度の改造は出来ますが、自作は出来ません。 質問は変数の中にある特定の文字の個数をカウントする方法です。 変数 $abc="01_01_01" があるとします。 この変数の_(アンダースコア)の数を数えたいのです。 _の数を数えて2個以上ある場合、別の処理をさせたいと考えています。 パターンマッチ演算子を使えばいいのだと思うのですが、私の知識ではよくわかりませんでした。 初心者にもわかりやすい説明で教えてください。 お願いします。
- ベストアンサー
- Perl
- 変数→文字列変数【ParaFla!】
現在ParaFla!初心者ですが、数字で表された変数を文字列変数に変換するにはどうすればよいでしょうか。 例えば_root.a = 6、_root.b = 7(この時点では両者は文字列変数ではないことに注意)という二つの変数を用いて _root.c = 13ではなく、_root.c ="67"または_root.c ="76"と表すにはどうすればいいかといった具合です。
- 締切済み
- Flash
- 文字列のなかの特定の文字の数
エクセルの関数式を使って、ある文字列のなかに、特定の文字の数を取得する方法を教えて下さい。 つまり、セルA1に「山口県山口市山田町」という文字列が入力されているとき、「山」という文字が何個あるかを取得したいのです。
- ベストアンサー
- その他([技術者向] コンピューター)
- シェル(ksh)で変数にある文字列を取り出す
お世話になります。 シェルで変数(例えば:OUT)に入っている文字列ついて2つ質問させてください。 1:変数に入っている文字列を後ろから何文字(固定長)取り出したい場合にどのようすればよいか教えてください。 試してみたのは以下です。 OUT1=abcde #変数OUT1に文字列abcdeを代入 OUT=${OUT1:3:(-1)} (固定長3バイト後ろから取り出したい(cde)) をファイルに書きこんで起動すると、上記の処理にいったところで、"置換が正しくありません"とでてしまいます。 2:変数に入っている文字列の文字数を取り出したい。 試してみたのは以下です。 OUT1=abcdec #変数OUT1に文字列abcdeを代入 OUT=${#OUT} これは、コマンドラインでecho ${#OUT}とすると6と文字数を表示してくれますが、ファイルに書きこんで起動すると上記同様"置換が正しくありません"と表示されてしまいます。 OSは、SUN OS 5.8です。 わかるかたがいらっしゃたら教えてください。 宜しくお願いします。
- 締切済み
- Solaris系OS
- DOSコマンドで結果として出力される文字列を変数に格納したい
DOSコマンドで、あるソフト(タスク)が実行されていればプログラムAを、そうでなければプログラムBを実行するバッチを組んでいます。タスクの一覧はtasklistで取得できることが分かり、対象となるタスクおみを抽出する方法も分かりました。しかし、この後どうすれば良いかが分かりません。対象となるタスクが存在した場合としない場合では出力される文字列が違います。この文字列を比較することで分岐が実現できると思ったのですが、それには文字列を変数に格納する必要があります。以下のように記述し、うまくいくことを期待したのですが、駄目でした。 set STATUS=tasklist /fi "Imagename eq タスク名" tasklist /fi "Imagename eq タスク名"の部分が関数であれば、戻り値があってそれを格納することができるのではないかと思ったのですが、できませんでした。このケースに限ったことではありませんが、各コマンドの実行結果として出力される文字列を変数に格納するにはどうすれば良いのでしょうか?VBSやWSHなどではなく、.bat形式の場合でお願いします。
- 締切済み
- Windows XP
お礼
返答ありがとうございます。 >$kosuu= split(/-/,$koumoku)-1 この方法で、無事出来ました。ありがとうございました。