今日も今日とて,たんたんとPerl.
3. 与えられた文字列の中から部分文字列を見つけその位置を返す
部分文字列の位置を返すのはindex関数でした.
#!/usr/bin/env perl -w use strict; # 検索対象 print "input target string: "; chomp (my $string = <STDIN>); # 検索ワード print "input sub string: "; chomp (my $sub = <STDIN>); # indexで見つけられなくなるまで(-1を返すまで) my $pos = 0; while ( ($pos = index ($string, $sub, $pos) ) != -1) { print "$pos\n"; $pos += 1; }
出力は貧相ですが,うまく動作するようです.解答も似たような感じ.
ところで,解答では,わかりにくソースコードについても説明されてたので,せっかくだからこのコードを目一杯わかりにくくしてみよう.
#!/usr/bin/env perl -w use strict; print "input target string: " ;chomp ( my $string = <STDIN> ); print "input sub string: " ;chomp ( my $sub = <STDIN> ); my $pos = 0;while ( ( $pos = index ( $string, $sub, $pos )) != -1) { print "$pos\n";$pos += 1; }
汚し足りない? でも,こんなの書いてたらなんか気持ち悪くなってきちゃったYO.
- 作者: ランダル・L.シュワルツ,トムフェニックス,Randal L. Schwartz,Tom Phoenix,近藤嘉雪
- 出版社/メーカー: オライリージャパン
- 発売日: 2003/05
- メディア: 単行本
- 購入: 15人 クリック: 474回
- この商品を含むブログ (294件) を見る