-2

以下に説明する Perl に小さな問題があります。次のようなファイルがあります。

こんにちは友達-> こんにちは (0.2)

こんにちは友達-> こんにちは友達 (0.2)

矢印 "->" の直前のフレーズのみを抽出したいのですが、これは次のことを意味します: Hello friends

4

4 に答える 4

1
my ($pre, $post) = split /\s*->\s*/, $line;
于 2013-03-27T10:40:56.417 に答える
1

一方通行:

perl -F'->' -alne '/->/ and print $F[0];' file
于 2013-03-27T10:42:11.337 に答える
0

次のようなことを試してみてください:

    my $line = "hello friends -> Hello (0.2)";
    if ($line =~ m/([\w\W]+)->([\W\w]+)/) {
        my $property=$1;
        my $value=$2;

        # stuff here
        print STDOUT "property = $property\n";
        print STDOUT "value = $value\n";
    }
于 2013-03-27T10:34:42.540 に答える
0

awk モードの Perl

$ perl -F'-' -lane 'print $F[0]' input
hello friends 

hello friends 
于 2013-03-27T10:43:57.183 に答える