TRIM-Funktion-Anfangs/EndLeerzeichen aus Strings entfernen

Aus FHEMWiki
Version vom 10. Mai 2013, 21:42 Uhr von Generix (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Leider gibt es in Perl keine LTRIM, RTRIM oder gar die zusammengesetzte TRIM funktion. Diese entfernt aus dem übergebenen String die beginnenden (LTRIM) oder …“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Leider gibt es in Perl keine LTRIM, RTRIM oder gar die zusammengesetzte TRIM funktion. Diese entfernt aus dem übergebenen String die beginnenden (LTRIM) oder die abschließenden (RTRIM) Leerzeichen. Für beide Funktionen existiert TRIM.

Um diese nun zu integrieren muss man 99_MyUtils.pm editieren und folgende Zeilen hinzufügen:

Seit 10/2012 sind diese Funktionen Bestandteil der fhem-Standardauslieferung. Sie liegen in 99_Utils.pm unter den Namen trim($), ltrim($), rtrim($).


# [http://www.somacon.com/p114.php http://www.somacon.com/p114.php]
# Perl trim function to remove whitespace from the start and end of the string
sub trim($)
{ 
  my $string = shift;
  $string =~ s/^\s+//;
  $string =~ s/\s+$//;
  return $string;
} 
# Left trim function to remove leading whitespace
sub ltrim($)
{
  my $string = shift;
  $string =~ s/^\s+//;
  return $string;
}
# Right trim function to remove trailing whitespace
sub rtrim($)
{
  my $string = shift;
  $string =~ s/\s+$//;
  return $string;
}

Ein Beispielaufruf:

trim(" Hallo Welt! ");