Ersetzen Leerzeichen mit Bindestrich in Perl
Möchte ich ersetzen aller Leerzeichen mit einem Bindestrich, aber die Räume sind durch 045
statt -
. Der Ausdruck:
s//-/g
Den Ausdruck s//_/g
(mit Unterstrich statt) funktioniert, so bin ich nicht sicher, warum i have apples
wird
i,045have,045apples
- können Sie geben eine minimale code-Beispiel wo der Fehler Auftritt. Zur info ein "-" ist dezimal 45 ASCII-code, so gibt es eine Verbindung zwischen dem Muster übereinstimmen und Ihre unbeabsichtigte Ergebnis.
- $fstring =~ s/ /-/g; Dies ist der gesamte code ...
- Wenn das alles ist, den code, dann wie Sie wissen, hat es 045 in es? 🙂
- Es ist möglich, Ihre shell (oder was auch immer Sie Lesen die Ausgabe von) etwas anderes als ASCII-oder UTF8. Wenn Ihr eine shell, was bedeutet
echo $LANG
sagen? Wenn Sie Lesen der Ausgabe in einem text-editor, versuchen Sie herauszufinden, welcher Zeichensatz benutzt wird. Sind Sie mit irgend etwas im Programm wieuse locale
oderuse Encode
? Wenn möglich, bitte zeigen Sie das vollständige Programm. - Bitte zeigen Sie den rest von Ihrem Programm
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser code funktioniert gut für mich:
Gibt es
I-like-Apples
.Wenn du mehr Informationen können wir Euch helfen, mehr Informationen, warum Ihr code, der sich schlecht benimmt.
Informationen möchten Wir:
hexdump
oder finden Sie einen kostenlosen editor für Windows.#!/usr/bin/perl
? Nichts, was einen Wert zuweist$fstring
?Dieser code funktioniert perfekt für mich:
Fand ich irgendwo ein snippet, und gezeichnet ist es aus. Nicht ganz voll, aber genug Arbeit auf ihn für jetzt.