Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

Perl: elk woord op eigen regel

gerben
5 antwoorden
  • Ik wil op Perl een woordenlijst maken. Nu kan ik het wel met shellscriptjes (tr -s ' ' '\012'), maar Perl is nieuw voor mij. Ik wil elk woord op een eigen regel zetten. Hoe doe je dat in perl?
  • @words = ($text =~ /\w+/g);
    print join /
    /, @words;
  • Gerben bedankt. Zou je misschien je code kunnen uitleggen?

    Je maakt dus gebruik van de [i:ec1e1e5730]s//[/i:ec1e1e5730]
    laat met de reguliere expressie [i:ec1e1e5730]\w[/i:ec1e1e5730] alle alphanumerieken vervangen door wat?

    Vervolgens laat je een newline joinen…

    Ik ben nogal een newbie wat betreft perl, ik heb meer een C achtergrond, dus de exotische eigenschappen van Perl zijn nog relatief nieuw voor mij.

    Ik heb een andere manier gevonden die voor mij wat begrijpelijker is:

    [code:1:ec1e1e5730]
    @words = split(/\s+/, $line);
    foreach $word (@words) {
    print("$word
    ");
    }
    [/code:1:ec1e1e5730]
  • De regel waar het om gaat is een reguliere expressie, die (een of meer) word characters (\w+) eruit pikt. Dit komt meerdere malen voor, die ondervang je met /g, en de resultaten gaan naar de array @words. Dit is dus geen substitute!
  • [quote:d8ba6c8644="gerben"]De regel waar het om gaat is een reguliere expressie, die (een of meer) word characters (\w+) eruit pikt. Dit komt meerdere malen voor, die ondervang je met /g, en de resultaten gaan naar de array @words. Dit is dus geen substitute![/quote:d8ba6c8644]

    Ok, je matcht dus alle alphanumerieken…

    Wat vind je van mijn manier trouwens?

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.