Oui, en python, dans les chaînes "..." (*pas* r"..."), le backslash ne fonctionne pas comme en C. Si le caractère "échappé" n'est pas dans une liste fixée, le backslash est conservé. Donc :
"n" -> un caractère "W" -> deux caractères (backslash, puis W)
Sauf que j'utilise des regexp, et que W a une signification spéciale qui n'est pas celle de W .. C'est pas très grave, c'était pour un petit script, et je ferais des remplacementsau besoin.
(C'est un mauvais choix, si tu me demandes mon avis, mais c'est comme ça. Pour les regexp, des litéraux r"..." sont assez adaptés, sauf si il y a des n...)
il n'y a pas vraiment de solution, donc.
merci -- Kevin
Le 27-08-2014, Alain Ketterlin <alain@dpt-info.u-strasbg.fr> a écrit :
Oui, en python, dans les chaînes "..." (*pas* r"..."), le backslash ne
fonctionne pas comme en C. Si le caractère "échappé" n'est pas dans une
liste fixée, le backslash est conservé. Donc :
"n" -> un caractère
"W" -> deux caractères (backslash, puis W)
Sauf que j'utilise des regexp, et que W a une signification spéciale
qui n'est pas celle de \W ..
C'est pas très grave, c'était pour un petit script, et je ferais des
remplacementsau besoin.
Pour conserver le backslash, repr utilise "\".
Les détails (pour 2.x) sont à
https://docs.python.org/2/reference/lexical_analysis.html#string-literals
oui, j'ai vu.
(C'est un mauvais choix, si tu me demandes mon avis, mais c'est comme
ça. Pour les regexp, des litéraux r"..." sont assez adaptés, sauf si il
y a des n...)
Oui, en python, dans les chaînes "..." (*pas* r"..."), le backslash ne fonctionne pas comme en C. Si le caractère "échappé" n'est pas dans une liste fixée, le backslash est conservé. Donc :
"n" -> un caractère "W" -> deux caractères (backslash, puis W)
Sauf que j'utilise des regexp, et que W a une signification spéciale qui n'est pas celle de W .. C'est pas très grave, c'était pour un petit script, et je ferais des remplacementsau besoin.
(C'est un mauvais choix, si tu me demandes mon avis, mais c'est comme ça. Pour les regexp, des litéraux r"..." sont assez adaptés, sauf si il y a des n...)