2016-09-07 2 views
1

Mit einer Zeichenfolge, die den umgekehrten Schrägstrich hat, d. H. \\ Wie kann ich es einzelnen Backslash machen?
Die $string =~ s/\\/\/g; funktioniert nicht.Wie kann ich doppelten Backslash mit 1 ersetzen?

+2

's/\\\\/\\/g' - Sie müssen auch den Backslash in der Regex umgehen –

+0

Mögliche Duplikate von [Wie kann ich Backslashes in einer Perl - Zeichenkette entfernen?] (Http: // stackoverflow. com/questions/2115398/how-can-i-unescape-backslashes-in-a-perl-string) – Faibbus

Antwort

4

Sie müssen vier Schrägstriche als Backslash selbst als auch sein entkommen muss:

$string =~ s/\\\\/\\/g 

a demo on regex101.com See.


Ein komplettes Beispiel in Perl:

my $string = 'this is a double backslash: \\\\'; 
print $string . "\n"; 
$string =~ s/\\\\/\\/g; 
print $string; 

die demo on ideone.com See.

Verwandte Themen