Hola, estoy tratando de tener una cadena que contenga tanto comillas simples como dobles en python - ('"). La razón por la que necesito esta expresión es para usarla como entrada a algún comando de lote externo. Sin embargo, python siempre corrige esto automáticamente a (\ '"). Me pregunto si hay una manera de juntar una cita doble y una sola cita tal como está. Gracias.Tener comillas simples y dobles en una cadena de pitón
Respuesta
Utilice comillas triples.
"""Trip'le qu"oted"""
o
'''Ag'ain qu"oted'''
Tenga en cuenta que sólo porque Python repr
es una cadena con barras invertidas, no quiere decir que en realidad añadido barras de la cadena, que sólo puede estar mostrando caracteres especiales escapó.
Utilizando un ejemplo del tutorial de Python:
>>> len('"Isn\'t," she said.')
18
>>> len('''"Isn't," she said.''')
18
A pesar de que la segunda cadena aparece un carácter más corto, ya que no tiene una barra invertida en ella, en realidad es la misma longitud - la barra invertida es sólo para escapar de la comilla simple en la secuencia de una sola cita.
Otro ejemplo:
>>> for c in '''"Isn't," she said.''':
... sys.stdout.write(c)
...
"Isn't," she said.
>>>
Si usted no deje que Python formato a la cadena, se puede ver la cadena no ha cambiado, sólo estaba tratando de Python para mostrar de forma inequívoca.
Ver el tutorial section on strings.
Gracias por la respuesta. Sin embargo, cuando escribí s = "" "'" "" ", y cuando compruebo el valor de s, aún muestra' \ '"'. Estoy pasando esta cadena a la línea de comando, por lo que tiene que ser '' "'. – GHO
@GHO vea el comentario de S.Lott anterior. –
@GHO Creo que lo expliqué bastante bien en la respuesta (agregué otro ejemplo) - el '\' no está realmente allí (en la cadena), Python solo lo está usando para mostrar que '' 'no termina la cadena, a diferencia de los que están al principio y al final. En realidad, cambie su cadena, cómo se muestra. – agf
utilizar cadenas triple citado:
""" This 'string' contains "both" types of quote """
''' So ' does " this '''
Gracias por su respuesta. Sin embargo, todavía tengo el problema como he comentado anteriormente. Por cierto, estoy usando python 2.7 – GHO
@GHO: "Todavía tengo el problema". significa (1) publicar el código real en la pregunta. (2) publicar el resultado real de una declaración real de 'impresión'. En la pregunta. (3) publicar el error real que está obteniendo. En la pregunta. Nosotros - - lamentablemente - no puedo adivinar qué código estás usando. –
Aunque su más prolija, una forma alternativa sería hacer lo siguiente:
str1 = 'la parte que tiene el doble 's' en él '
str1 = str1 + 'la parte que tiene un solo 's' en él'
Usted puede ya sea (1) encerrar la cadena entre comillas dobles y escapar de la Dou las comillas simples con \
o (2) encierran la cadena en comillas simples y escapan las comillas simples con \
. Por ejemplo:
>>> print('She is 5\' 6" tall.')
She is 5' 6" tall.
>>> print("He is 5' 11\" tall.")
He is 5' 11" tall.
El problema real es, la sentencia print() no imprime el \ pero cuando se hace referencia al valor de la cadena en el intérprete, muestra un "\" siempre es un apóstrofe usado . Por ejemplo, consulte el siguiente código:
>>> 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"'
Esto es independiente de si utiliza comillas simples, dobles o triples para encerrar la cadena.
>>> s = """She said, "Give me Susan's hat" """
>>> s
'She said, "Give me Susan\'s hat" '
Otra manera de incluir lo siguiente:
>>> 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" '
Así que, básicamente, pitón no elimina el \ cuando se hace referencia al valor de s, pero lo retira cuando intenta imprimir. A pesar de este hecho, cuando te refieres a la longitud de s, no cuenta la "\". Por ejemplo.,
>>> s = '''"''"'''
>>> s
'"\'\'"'
>>> print(s)
"''"
>>> len(s)
4
la adición tanto de la comilla simple y doble en el uso proyectado pitón comillas (escapadas). Prueba esto, por ejemplo:
print(" just display ' and \" ")
El \"
le dice a Python este no es el final de la cadena entre comillas.
- 1. ¿Escapando comillas simples y dobles en una cadena en rubí?
- 2. Cómo eliminar comillas simples y dobles de una cadena
- 3. comillas simples y dobles php
- 4. Diferencia entre comillas simples y comillas dobles en Javascript
- 5. comillas dobles vs comillas simples en JavaScript
- 6. Diferencia entre '(comillas simples) y "(comillas dobles) en ASP.NET 4
- 7. ¿Cuál es la diferencia entre comillas simples y dobles comillas para definir una cadena en powershell
- 8. por qué "cadena de comillas simples preferida sobre cadena de comillas dobles". en js?
- 9. ¿Comillas simples o comillas dobles para concatenación variable?
- 10. escriben entre comillas dobles en pitón
- 11. Diferencia entre cadenas entre comillas simples y dobles en ActionScript
- 12. ¿Hay alguna diferencia entre comillas simples y dobles en Java?
- 13. Diferencia entre comillas simples y dobles en Bash
- 14. desprendimiento comillas simples y dobles en una cadena utilizando bash/Linux estándar comandos sólo
- 15. Escape solo comillas simples (deje comillas dobles) con htmlspecialchars()
- 16. ¿Cómo puedo reemplazar las comillas dobles con comillas simples
- 17. ASP - Quitar comillas dobles de una cadena
- 18. Uso de comillas simples o dobles de JavaScript para href's
- 19. pitón ¿Cómo puedo quitar primero y el último comillas dobles
- 20. Escapar caracteres en JavaScript, comillas simples o dobles
- 21. PHP Ajustar una cadena entre comillas dobles
- 22. Cómo reemplazar palabras fuera de comillas dobles o simples
- 23. Escape de comillas atrás en una cadena de comillas dobles en shell
- 24. ¿Cómo puedo escapar entre comillas simples o dobles en CSS?
- 25. ¿Cuál es la diferencia entre comillas dobles y comillas simples en C#
- 26. ¿CoffeeScript admite la interpolación en cadena de comillas simples?
- 27. Comillas simples en cadena con jQuery ajax
- 28. Regex para dividir una cadena usando espacio cuando no está rodeado por comillas simples o dobles
- 29. escapar comillas dobles en Java
- 30. escapar comillas simples
¿Quiere decir que la barra diagonal inversa está allí cuando la imprime, o solo cuando la mira en el intérprete? –
"python siempre corrige automáticamente"? ¿Dónde? ¿Cómo? Por favor, 'imprime' el resultado para estar ** seguro ** de lo que estás obteniendo. Tenga en cuenta que lo que ve en 'repr()' y lo que ve en el prompt '>>>' no coincide con lo que ** en realidad ** en la cadena. Las versiones 'repr()' y '>>>' son código fuente de Python. No es el valor real Por favor ** actualice ** su pregunta con ejemplos específicos. –