Si j'ai une chaîne comme: 'Je ne peux pas analyser ceci' entre guillemets, comment puis-je supprimer cela sans erreur de syntaxe, et retourner ICANTPARSETHIS? Je sais que cela fonctionnerait si c'était «je ne peux pas analyser ceci», mais je regarde un problème où l'entrée potentielle pourrait ne pas avoir de doubles guillemets l'entourant.Analyser des chaînes avec des guillemets simples en Python
Répondre
Vous avez mal compris quelque chose ici. Il n'y a aucun problème ici.
Les erreurs de syntaxe s'appliquent uniquement au code source. Les valeurs de chaîne sont et non le code source.
Si votre code source utilise la chaîne littéraux, Python et produit ceux parse une chaîne valeur. La chaîne littérale peut avoir une erreur de syntaxe, mais si elle ne contient pas d'erreur, elle produira une valeur de chaîne qui est juste une valeur.
Dans l'interpréteur Python, ces valeurs de chaîne sont représentées en utilisant le même format qu'un littéral de chaîne, pour faciliter le débogage et la copie dans l'interpréteur. Rassurez-vous que l'interpréteur Python sait comment échapper les guillemets dans ces valeurs correctement:
>>> """Text with a single quote: '"""
"Text with a single quote: '"""
>>> """We can use a double quote too: ". See?"""
'We can use a double quote too: ". See?'
>>> """Even mixing " and ' is not a problem."""
'Even mixing " and \' is not a problem.'
je syntaxe littérale triple cité là, mais Python alternatives echos qui utilisent le style minimum citant nécessaire, et échappe à des symboles de citation au besoin .
print "Parse 'this string' to something".split()
print re.findall(some_pattern,"this is a string with `internal quotation` marks")
print 'quotes' == "quotes" == """quotes""" == '''quotes''' == u'quotes' == u"quotes"
Je ne suis pas sûr de ce que votre question est ... mais ces deux exemples démontrent que vous pouvez analyser des chaînes avec des guillemets internes
démontre également que les guillemets sont tous les mêmes essentiellement
Donc, mon la compréhension est que vous voulez supprimer l'apostrophe sur le "ne peut pas"?
'I can't parse this'.replace("'", "")
>>> 'I cant parse this'
ou si vous avez dans une variable:
s = 'I can\'t parse this'
s.replace("'", "")
>>> 'I cant parse this'
Edit: Comme l'a souligné le deuxième exemple était une erreur de syntaxe sans caractère d'échappement sur l'apostrophe.
Votre deuxième exemple est une erreur de syntaxe –
J'avais oublié le caractère d'échappement, mais qui met essentiellement le str à un guillemet double guillemet avec la citation unique encore là – actionseth
** Exactement **, ce qui illustre que l'OP ne comprenait pas ce qui se passe ici.Avez-vous? –
- 1. Travailler avec des chaînes en python produit des guillemets étranges
- 2. Python Parseing chaîne par des guillemets simples
- 3. C# Analyser des chaînes contenant des guillemets doubles et des guillemets simples à l'aide de l'expression régulière
- 4. Imprimer une chaîne vide avec des guillemets doubles au lieu de guillemets simples en Python
- 5. PHP echo avec des guillemets simples et des guillemets
- 6. Ruby convertit des guillemets simples en guillemets doubles en XML
- 7. Correspondance des chaînes entre guillemets simples ou doubles dans Vim
- 8. Comment insérer des guillemets simples avec redactor.js?
- 9. Accepter la grammaire avec des guillemets simples
- 10. Analyse XML avec des guillemets simples?
- 11. échapper à des guillemets simples
- 12. Java Runtime.getRuntime(). Exec() avec des guillemets simples
- 13. écho javascript avec des guillemets simples
- 14. Enclose des mots spécifiques avec guillemets simples
- 15. awk s'échapper des guillemets simples
- 16. Échapper seulement guillemets simples (laisser des guillemets seuls) avec htmlspecialchars()
- 17. insérer des guillemets simples en sql
- 18. Remplacer des guillemets doubles guillemets simples avec awk
- 19. guillemets doubles guillemets simples
- 20. Pourquoi bash convertir des guillemets doubles en guillemets simples?
- 21. Comment puis-je convertir une chaîne avec des guillemets simples en double pour JSON analyser
- 22. Echapper à des guillemets simples javascript
- 23. Echapper des guillemets simples entre guillemets qui est entre guillemets
- 24. Python convertit des guillemets doubles en guillemets simples dans la nouvelle variable
- 25. En php, que fait "echo` command` "? (avec des guillemets simples)
- 26. grammaire Antlr avec des guillemets simples doubler les opérateurs
- 27. Chaînes Ruby à guillemets simples - échappement incohérent
- 28. concaténation de chaînes de guillemets simples
- 29. Python shlex.split() ne peut pas retenir des guillemets simples
- 30. Quelle méthode est la plus efficace, en utilisant des guillemets doubles dans des guillemets simples ou des guillemets simples qui s'échappent?
Le guillemet est uniquement une erreur de syntaxe dans les littéraux de chaîne, et peut être géré par une citation correcte ou en utilisant une chaîne entre guillemets. –
Mais il semble que vous essayez de gérer l'entrée de programme à la place, auquel cas ce n'est * pas un problème *. Que * exactement * essayez-vous de faire ici? –
Si vous utilisez 'input()' dans Python 2, utilisez 'raw_input()' à la place et évitez de traiter votre entrée comme une expression Python. –