Stringmanipulationen

marcel.grunauer at lovely.net marcel.grunauer at lovely.net
Mon Dec 27 08:10:59 CST 1999


* * * vienna-pm-list * * *


@@ Ich moechte ermitteln, wieviele "" in einer Zeile auftreten! 
@@ Gibt es einen Befehl um die Haeufigkeit einer Zeichenkette zu 
@@ ermitteln oder muss ich das mit einer Schleife selber zaehlen?


	my $count = () = ($zeile =~ /("")/g);


@@ Ich moechte mir den ersten String - sofern er nicht nur aus "" 
@@ besteht - ermitteln. Bis jetzt habe ich das so geloest, indem ich 
@@ zuerst die \" Paare und dann die "" Paare ersetzt habe, habe 
@@ anschliessend die Zeile so aufgesplittet, dass die " als Trennzeichen 
@@ dienten und dann im zweiten Feld den String gehabt. Dort hab ich dann 
@@ wieder die Zeichen rueckersetzt. Also in etwa so:


	#!/usr/bin/perl -w

	use strict;
	while (my $zeile = <DATA>) {
		chomp $zeile;
		(my $testzeile  = $zeile) =~ s/""//g;
		(my $match) = ($testzeile =~ /"([^"]+?)"/);
		print "$zeile: ";
		print (defined $match && length $match ? $match : "---");
		print "\n";
	}

	__DATA__
	Wort1 "" "" noch was "gesuchtes" usw.
	nichts in dieser zeile
	hier auch "" nicht ""
	"""""" aber nichts gesuchtes
	"""" "das hier" "nicht" ""


-- 
Marcel
sub AUTOLOAD{($_=$AUTOLOAD)=~s;^.*::;;;y;_; ;;print} Just_Another_Perl_Hacker();

###
You are subscribed to vienna-pm-list
http://www.fff.at/fff/vienna.pm/



More information about the Vienna-pm mailing list