2013-03-27 5 views
-2

펄의 작은 문제가 아래에 설명이 있습니다Perl을 사용하여 줄의 일부를 어떻게 추출 할 수 있습니까?

안녕하세요 친구 -> 안녕하세요 (0.2)

안녕하세요 친구 -> 안녕 내 친구 (: 나는이 같은 파일이 0.2)

는 나는 단지 화살표 전에 문구 추출하고자하는

는 "->" 그것은이 의미 안녕하세요 친구

+2

를 시도? Stackoverflow는 "give me teh codez"사이트가 아니며 언어 이름은 Perl입니다. –

답변

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"; 
    } 
+0

답장을 보내 주셔서 감사합니다. – user17241

+1

'm/([\ w \ W] +) -> ([\ W \ w] +) /'는'/(.+)->(.+)/' . –

1
my ($pre, $post) = split /\s*->\s*/, $line; 
1

한 가지 방법 : AWK 모드에서

perl -F'->' -alne '/->/ and print $F[0];' file 
0

펄 당신은 무엇을

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

hello friends 
+0

대단히 고마워요. :) – user17241