Thread Regulärer Ausdruck (11 answers)
Opened by Gast at 2006-08-14 20:20

bloonix
 2006-11-27 19:40
#68945 #68945
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
use strict;
use warnings;
use Data::Dumper;

my @strings = (
  'Die Angela "Koenigin von Berlin" Merkel ...',
  'Die Angela "Koenigin von Berlin" ...',
  'Die "Koenigin von Berlin" Merkel ...',
  'Die "Angela" Koenigin von Berlin "Merkel" ...'
);

print "--------> BEISPIEL 1\n";

# wenn du "Die Angela" ebenfalls durch Whitespaces trennen moechtest
for my $text (@strings) {
  my @result;
  for my $splitted (split /(".+?")/, $text) {
     if ($splitted =~ /^".+"$/) {
        $splitted =~ s/"//g;
        push @result, $splitted;
     } else {
        push @result, split /\s+/, $splitted;
     }
  }
  print Dumper(\@result);
}

print "\n--------> BEISPIEL 2\n";

# wenn du "Die Angela" nicht durch Whitespaces trennen moechtest
for my $text (@strings) {
  my @result;
  for my $splitted (split /(".+?")/, $text) {
     $splitted =~ s/"//g;
     push @result, $splitted;
  }
  print Dumper(\@result);
}


--------> BEISPIEL 1
$VAR1 = [
         'Die',
         'Angela',
         'Koenigin von Berlin',
         '',
         'Merkel',
         '...'
       ];
$VAR1 = [
         'Die',
         'Angela',
         'Koenigin von Berlin',
         '',
         '...'
       ];
$VAR1 = [
         'Die',
         'Koenigin von Berlin',
         '',
         'Merkel',
         '...'
       ];
$VAR1 = [
         'Die',
         'Angela',
         '',
         'Koenigin',
         'von',
         'Berlin',
         'Merkel',
         '',
         '...'
       ];

--------> BEISPIEL 2
$VAR1 = [
         'Die Angela ',
         'Koenigin von Berlin',
         ' Merkel ...'
       ];
$VAR1 = [
         'Die Angela ',
         'Koenigin von Berlin',
         ' ...'
       ];
$VAR1 = [
         'Die ',
         'Koenigin von Berlin',
         ' Merkel ...'
       ];
$VAR1 = [
         'Die ',
         'Angela',
         ' Koenigin von Berlin ',
         'Merkel',
         ' ...'
       ];
\n\n

<!--EDIT|opi|1164656155-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.

View full thread Regulärer Ausdruck