2009-09-27 11 views

Odpowiedz

24

W pytaniu interakcyjnym Python, jeśli zwrócisz ciąg znaków, zostanie wyświetlona z cytatami, głównie dlatego, że wiesz, że jest to ciąg znaków.

Jeśli tylko druku ciąg, nie zostanie pokazany z cytatami (chyba że ciąg ma cytuje w nim).

>>> 1 # just a number, so no quotes 
1 
>>> "hi" # just a string, displayed with quotes 
'hi' 
>>> print("hi") # being *printed* to the screen, so do not show quotes 
hi 
>>> "'hello'" # string with embedded single quotes 
"'hello'" 
>>> print("'hello'") # *printing* a string with embedded single quotes 
'hello' 

Jeśli rzeczywiście nie potrzeba usunąć wiodącym/spływu cudzysłów, użyj metody .strip napisu usuwać pojedyncze i/lub podwójnych cudzysłowach:

>>> print("""'"hello"'""") 
'"hello"' 
>>> print("""'"hello"'""".strip('"\'')) 
hello 
-2

Oto jeden ze sposobów to usunie wszystkie pojedyncze cudzysłowy w ciągu znaków.

def remove(x): 
    return x.replace("'", "") 

Oto kolejna alternatywa, która usunie pierwszy i ostatni znak.

def remove2(x): 
    return x[1:-1] 
0

Usuwanie pojedynczych cudzysłowów wokół napisu.

print str(x)