Ich muss die letzten sieben Zeichen einer Zeichenfolge (eine Zeichenfolge, die in einem Hash gespeichert ist) abschneiden. Was ist der einfachste Weg, das in Perl zu tun? Vielen Dank im Voraus!Wie kann ich die letzten sieben Zeichen eines Hash-Wertes in Perl entfernen?
Antwort
Mit substr()
:
substr($string, 0, -7);
Ich schlage vor, Sie die Perldoc Seite auf substr()
lesen (was ich oben verlinkt) vor nur Kopieren und Einfügen dieser in Ihren Code. Es tut, was Sie gefragt haben, aber substr()
ist eine sehr nützliche und vielseitige Funktion, und ich schlage vor, Sie verstehen alles, wofür Sie es verwenden können (indem Sie die Dokumentation lesen).
Denken Sie auch in Zukunft daran, Ihre Frage zu googeln (oder, im Fall von Perl, auf Perloc nachzuschlagen), bevor Sie sie hier fragen. Sie können großartige Ressourcen zu solchen Dingen finden, ohne dass Sie hier Fragen stellen müssen. Nicht, um deine Frage zu stellen, aber es ist ziemlich einfach, und ich denke, wenn du es versucht hast, könntest du die Antwort selbst finden.
Verwenden Sie die Perl substr
Funktion, aber machen Sie das Argument "Länge" negativ. Beispiel:
#!/usr/bin/perl
my $string = "string";
$short = substr($string, 0, -3);
printf $short . "\n";
Dies wird die Zeichenfolge „str“ mit einem Newline zurückkehren, da wir die letzten drei Zeichen Kürzen festgelegt. Werfen Sie einen Blick auf die Perl documentation on substr().
Um die letzten 7 Zeichen zu entfernen:
substr($str, -7) = '';
oder etwas unelegant
substr($str, -7, length($str), '');
Um alle bis auf die letzten 7 Zeichen zu erhalten:
substr($str, 0, -7)
$ hash {$ key} = substr ($ hash {$ key}, 0, -7); # Angenommen, es ist so in Ihrem Hash gespeichert, und Sie möchten es ersetzen. –