Ciao Sto cercando di avere una stringa che contenga sia la citazione singola che la doppia in python - ('"). Il motivo per cui ho bisogno di questa espressione è di usare come input ad un comando batch esterno, tuttavia python lo corregge sempre automaticamente in (\ '"). Mi chiedo se c'è un modo per mettere insieme una doppia citazione e una singola citazione così com'è. Grazie.Avere sia una virgola singola che una doppia in una stringa di python
risposta
Utilizzare le virgolette.
"""Trip'le qu"oted"""
o
'''Ag'ain qu"oted'''
Tenete a mente che solo perché Python repr
s una stringa con backslash, non significa in realtà è aggiunto eventuali tagli alla stringa, si può solo apparire caratteri speciali sfuggito.
Utilizzando un esempio dal tutorial Python:
>>> len('"Isn\'t," she said.')
18
>>> len('''"Isn't," she said.''')
18
Anche se la seconda stringa appare un carattere più breve, perché non dispone di una barra rovesciata in esso, in realtà è la stessa lunghezza - il backslash è solo per sfuggire alla virgoletta singola nella singola stringa quotata.
Un altro esempio:
>>> for c in '''"Isn't," she said.''':
... sys.stdout.write(c)
...
"Isn't," she said.
>>>
Se non si lascia Python formattare la stringa, si può vedere la stringa non è stata modificata, è stato appena Python cercando di visualizzarlo in modo inequivocabile.
Vedere tutorial section on strings.
Grazie per la risposta. Tuttavia, quando ho digitato s = "" "" "" "", e quando controllo il valore di s, visualizza ancora '\' "'. Sto passando questa stringa alla riga di comando, quindi deve essere '' ''. – GHO
@GHO vedere il commento di S.Lott sopra. –
@GHO Penso di averlo spiegato abbastanza bene nella risposta (ho aggiunto un altro esempio) - il '\' non è effettivamente lì (nella stringa), Python lo sta solo usando per mostrare che il '' 'non termina la stringa, al contrario di quelli all'inizio e alla fine. t in realtà cambia la tua stringa, proprio come viene visualizzata – agf
Utilizzare stringhe triple-citato:
""" This 'string' contains "both" types of quote """
''' So ' does " this '''
Grazie per la tua risposta.Tuttavia, ho ancora il problema come ho commentato in precedenza.Btw, sto usando python 2.7 – GHO
@GHO: "hanno ancora il problema". significa (1) postare il codice effettivo nella domanda. (2) postare l'output effettivo da un'effettiva istruzione 'print'. Nella domanda. (3) pubblica l'errore effettivo che stai ricevendo. - purtroppo - non posso indovinare quale codice stai usando. –
Anche se la sua più prolisso, un modo alternativo sarebbe quello di effettuare le seguenti operazioni:
str1 = 'la parte che ha una doppia "s" in esso '
str1 = str1 + "la parte che ha singolo 's' in esso"
è possibile o (1) racchiudere la stringa tra virgolette doppie e sfuggire alla dou le virgolette con un \
o (2) racchiudono la stringa tra virgolette singole e sfuggono alle virgolette singole con un \
. Per esempio:
>>> print('She is 5\' 6" tall.')
She is 5' 6" tall.
>>> print("He is 5' 11\" tall.")
He is 5' 11" tall.
Il problema reale è, l'istruzione print() non stampa l'\, ma quando si fa riferimento al valore della stringa nell'interprete, viene visualizzato un "\" ogni volta che un apostrofo è Usato . Ad esempio, vedere il codice seguente:
>>> s = "She said, \"Give me Susan's hat\""
>>> print(s)
She said, "Give me Susan's hat"
>>> s
'She said, "Give me Susan\'s hat"'
Questo è indipendentemente dal fatto che si utilizza apici doppi o tripli per racchiudere la stringa.
>>> s = """She said, "Give me Susan's hat" """
>>> s
'She said, "Give me Susan\'s hat" '
Un altro modo per includere questo:
>>> s = '''She said, "Give me Susan's hat" '''
>>> s
'She said, "Give me Susan\'s hat" '
>>> s = '''She said, "Give me Susan\'s hat" '''
>>> s
'She said, "Give me Susan\'s hat" '
Quindi, fondamentalmente, Python non rimuovere il \ quando si fa riferimento al valore di s, ma lo rimuove quando si tenta di stampare. Nonostante ciò, quando si fa riferimento alla lunghezza di s, non conta la "\". Per per esempio.,
>>> s = '''"''"'''
>>> s
'"\'\'"'
>>> print(s)
"''"
>>> len(s)
4
Per aggiungere sia la citazione singolo e doppio sull'uso pitone schermato (sfuggito) virgolette. Prova questo per esempio:
print(" just display ' and \" ")
Il \"
dice pitone questa non è la fine della stringa tra virgolette.
- 1. Come posso sapere se la stringa contiene sia una virgoletta singola (') che una virgoletta doppia (")?
- 2. Come stampare una doppia con una virgola
- 3. Analizza una singola stringa CSV?
- 4. R gsub una singola doppia virgoletta
- 5. Come rimuovere una virgola in una stringa Python
- 6. python sostituire una singola barra rovesciata con doppia barra rovesciata
- 7. Python: Stringa che formatta una stringa regolare che utilizza sia '%' sia '{' come caratteri
- 8. Comprimi/concateni/aggrega una colonna in una singola stringa separata da virgola all'interno di ciascun gruppo
- 9. Swift enum sia una stringa che uno
- 10. Asynctask Android che passa una singola stringa
- 11. Convertire una lista di stringhe ad una singola stringa
- 12. Converti una stringa in doppia: è possibile?
- 13. Come posso dividere una stringa per spazio bianco a meno che non sia all'interno di una singola stringa quotata?
- 14. Query Postgres per verificare che una stringa sia un numero
- 15. Converti una stringa con quotatura singola in stringa con doppia virgoletta
- 16. Posso usare una virgoletta singola in una "stringa" di PowerShell?
- 17. Come espandere una stringa all'interno di una stringa in python?
- 18. Una classe può avere un costruttore sia pubblico che privato?
- 19. Sostituzione di una strana virgoletta singola (') con una stringa vuota in Python
- 20. Posso eseguire il escape di una virgoletta doppia in una stringa letterale letterale?
- 21. Sottostringa di una stringa che utilizza Python
- 22. python stringa '"': singola virgoletta all'interno della stringa
- 23. Come verificare che una stringa sia analizzabile in doppio?
- 24. Come rimuovere una virgoletta singola da una stringa in R?
- 25. Creazione di una stringa delimitata da virgola
- 26. Perché una doppia ricerca è più veloce di una singola ricerca in javascript?
- 27. conversione di stringa in una doppia variabile in C
- 28. assegnazioni multiple con una virgola in python
- 29. JavaScript ha una precisione del numero a virgola mobile doppia?
- 30. PL/SQL, come evitare una virgoletta singola in una stringa?
Intendi dire che il backslash è presente quando lo stampi o solo quando lo guardi nell'interprete? –
"python corregge sempre automaticamente"? Dove? Come? Per favore, stampa l'output in modo che sia ** sicuro ** quello che stai ricevendo. Nota che ciò che vedi da 'repr()' e quello che vedi al prompt di >>> non corrisponde a quello che è ** in realtà ** nella stringa. Le versioni 'repr()' e '>>>' sono codice sorgente Python. Non il valore reale. Per favore ** aggiorna ** la tua domanda con esempi specifici. –