-4

テキスト ファイルがあり、関数を使用してオフセット値に基づいて文字列を検索したいと考えていsubstringます。

私の入力ファイルは次のようなものです:

[1] Line one
[2] Line two
[3] Line three

私のコードは次のとおりです。

use strict;
use warnings;

my $f2 = 'Test.txt';
my ($text, $str);
  open (FH1, $f2) || die;
  $text = join '', <FH1>;
  $str  = substr($text, 16, 5);
  print $str,"\n";

一致したテキストの最初の単語として存在する数字を見つける必要があります。

出力は次のようになります

[2]--Line

一致した文字列は「Line」で、その行の最初の単語は [2] です。

4

1 に答える 1

0

substr 関数の詳細については、次のドキュメントを参照してください。

http://perldoc.perl.org/functions/substr.html

この関数の一般的な形式は次のとおりです。

    substr EXPR,OFFSET,LENGTH

同様に、substr($text,16,5) を使用していることにも注意してください。ただし、ダイヤモンドはファイルを 1 行ずつ読み取ります (スカラー コンテキストで使用したため、16 はどこから来たのでしょうか?? からオフセットを開始する必要があります)。 Perl の演算子については、perlop を参照してください。

http://perldoc.perl.org/perlop.html

于 2013-07-17T05:33:09.740 に答える