2016-12-12 5 views
-3

ich stripoff „domain \“ von „domain \ name“ benötigen würde Namen zu extrahieren, die einen beliebigen Namen oder das Wort Name sein kann buchstäblichString Streifen in Python

>>> s="domain\name" 

>>> x=s[5:] 
>>> print(x) 
n 
ame 
>>> s="domain\bh16" 
>>> x=s[5:] 
>>> print(x) 
h16 
>>> x=s[4:] 
>>> print(x) 
ih16 
+5

FWIW, Ihre erste Saite eigentlich keinen Backslash in ihm ... '\ n 'ist ein newline ... – mgilson

+2

und' \ b' ist ein [ "ASCII Backspace "] (https://docs.python.org/2/reference/lexical_analysis.html#string-literals), ich glaube nicht, dass du das willst! – MSeifert

+1

wo bekommen Sie diese her? Wenn unter Ihrer Kontrolle diese Ergebnisse als rohe Zeichenfolgen zurückgegeben werden. –

Antwort

2

Sie es zu einem rohen String umwandeln kann und verwenden replace als normal

s = r"domain\bh16" 

print(s.replace("domain\\", '')) #bh16 
+0

Die Lösung, die Sie mir gaben, funktioniert gut, wenn ich den Wert der Variablen 's kenne. Allerdings benutze ich es in einem Code, wo s dynamisch verschiedenen Namen zugewiesen wird, wobei 'Domäne' vorangestellt wird. Wenn ich so versuche, funktioniert die Lösung nicht >>> Benutzername = 'corp \ bh16' >>> y = r "Benutzername" >>> print (y) Benutzername – ananda