I’m trying to replace backslashes (from this polyline) with double backslashes.
My Script:
txt = "qnkyHbgFYhBi@lFA|@Dz@K~@Oz@An@Dz@A|@D|@M|BJZd@KDHRzBf@lMNrBB~@Lz@h@^`@Lt@?L]`@GH?FJl@Xl@NNLXVpBHV^LZf@Jt@@j@Kx@OjB@l@b@ZJDv@d@`@RXFp@Zl@d@|Ad@`@jAzBf@nATn@xAD~@Jt@TJTv@^b@f@^b@b@f@^r@nA`@^f@`@VVp@Lx@Vb@d@n@l@V|BLx@Hz@Pp@Lz@Fl@ErAFf@K~@IvBQr@m@hBFfAC|@g@nC?z@ANi@hBGjAMx@OvBa@hBWfBSx@?r@M|@Qv@Wn@q@tAMt@@z@Px@kAvDWj@u@pAYr@Mx@q@fA_@d@K~@YTAr@C@@B@`@ITSL}@I]vBz@pA@z@KVGDk@@g@Eg@Kg@@g@Ec@Fe@YSZGFEUUg@Gz@i@j@S|@Wr@Sp@[hBDx@BvBD~@BvCNx@Zj@Z^Zf@TXb@R^Z`@f@FXj@BTOdA]`BUx@Wl@Oz@G|@Hn@At@m@lI@XXf@?v@IBCq@M_AV{BwGLs@To@|@Th@In@`@@cBWmAuAeE[k@e@YYg@a@_@c@YQ[y@aAWa@Us@?iAEk@?{@KaFNy@d@qBh@eDl@s@J@JMLKLT`@R`@X~@b@^^PfAr@Lf@Fd@m@J{ABkALw@d@a@?_AMoA?yCbAqC@s@hBwBXi@Ng@Nu@n@sAMuBJ}@kACs@[e@Wk@e@c@k@YYYIBi@eAMy@A}@Im@G}@JyBDyB?{@IyBC_AKc@_@QgAa@]m@eAo@]e@Om@SsAIy@GwDIwB@}BF}BC]AcEIq@Wq@i@eBMy@AkBUyDIKEvAIZUNK?MFc@ZUGKeAG}@M{DLgAD_ADiFHKtBITm@By@OS[QAUF}@PeBA}AIe@GQc@g@UaBUs@}@gAKi@Ns@A[Kw@GS]g@Ws@I}BOwB?{@SqDA_AQwDAw@g@DEGAu@B}BA}@Fy@Re@Hw@A_AUiAH{@RYXk@EwBG{@OiAAmA" x = txt.replace("\", "\\") print(x)
Output (top string has spaces added to highlight the differences to the orginal string below)
qnkyHbgFYhBi@lFA|@Dz@K~@Oz@An@Dz@A|@D|@M|BJZd@KDHRzBf@lMNrBB~@Lz@\h@^`@Lt@?L]`@GH?FJl@Xl@NNLXVpBHV^LZf@Jt@@j@Kx@OjB@l@b@ZJDv@d@`@RXFp@\Zl@d@|Ad@`@jAzBf@nATn@~ @Jt@TJTv@^b@f@^b@b@f@^r@nA`@^@` @VVp@Lx@Vb@d@n@\ l@V|BLx@Hz@Pp@Lz@Fl@ErAFf@K~@IvBQr@m@hBFfAC|@g@nC?z@ANi@hBGjAMx@OvBa@hBWfBSx@?r@M|@Qv@Wn@q@tAMt@@z@Px@kAvDWj@u@pAYr@Mx@q@fA_@d@K~@YTAr@C@@B@`@ITSL}@I]vBz@pA@z@KVGDk@@g@Eg@Kg@@g@Ec@Fe@YSZGFEUUg@Gz@i@j@S|@Wr@Sp@[hBDx@BvBD~@BvCNx@Zj@Z^Zf@TXb@R^Z\`@f@FXj@BTOdA]`BUx@Wl@Oz@G|@Hn@At@m@lI@XXf@?v@IBCq@M_AV{B\wGLs@To@|@Th@In@`@@cBWmAuAeE[k@e@YYg@a@_@c@YQ[y@aAWa@Us@?iAEk@?{@KaFNy@d@qBh@eDl@s@J@JMLKLT`@R`@\X~@b@^^PfAr@\Lf@Fd@m@J{ABkALw@d@a@?_AMoA?yCbAqC@s@hBwBXi@Ng@Nu@n@sAMuBJ}@\kACs@[e@Wk@e@c@k@YYYIBi@eAMy@A}@Im@G}@JyBDyB?{@IyBC_AKc@_@QgAa@]m@eAo@]e@Om@SsAIy@GwDIwB@}BF}BC]AcEIq@Wq@i@eBMy@AkBUyDIKEvAIZUNK?MFc@ZUGKeAG}@M{DLgAD_ADiFHKtBITm@By@OS[QAUF}@PeBA}AIe@GQc@g@UaBUs@}@gAKi@Ns@A[Kw@GS]g@Ws@I}BOwB?{@SqDA_AQwDAw@g@DEGAu@B}BA}@Fy@Re@Hw@A_AUiAH{@RYXk@EwBG{@OiAAmA qnkyHbgFYhBi@lFA|@Dz@K~@Oz@An@Dz@A|@D|@M|BJZd@KDHRzBf@lMNrBB~@Lz@ h@^`@Lt@?L]`@GH?FJl@Xl@NNLXVpBHV^LZf@Jt@@j@Kx@OjB@l@b@ZJDv@d@`@RXFp@ Zl@d@|Ad@`@jAzBf@nATn@ xAD~@Jt@TJTv@^b@f@^b@b@f@^r@nA`@^f@`@VVp@Lx@Vb@d@n@ l@V|BLx@Hz@Pp@Lz@Fl@ErAFf@K~@IvBQr@m@hBFfAC|@g@nC?z@ANi@hBGjAMx@OvBa@hBWfBSx@?r@M|@Qv@Wn@q@tAMt@@z@Px@kAvDWj@u@pAYr@Mx@q@fA_@d@K~@YTAr@C@@B@`@ITSL}@I]vBz@pA@z@KVGDk@@g@Eg@Kg@@g@Ec@Fe@YSZGFEUUg@Gz@i@j@S|@Wr@Sp@[hBDx@BvBD~@BvCNx@Zj@Z^Zf@TXb@R^Z `@f@FXj@BTOdA]`BUx@Wl@Oz@G|@Hn@At@m@lI@XXf@?v@IBCq@M_AV{B wGLs@To@|@Th@In@`@@cBWmAuAeE[k@e@YYg@a@_@c@YQ[y@aAWa@Us@?iAEk@?{@KaFNy@d@qBh@eDl@s@J@JMLKLT`@R`@ X~@b@^^PfAr@ Lf@Fd@m@J{ABkALw@d@a@?_AMoA?yCbAqC@s@hBwBXi@Ng@Nu@n@sAMuBJ}@ kACs@[e@Wk@e@c@k@YYYIBi@eAMy@A}@Im@G}@JyBDyB?{@IyBC_AKc@_@QgAa@]m@eAo@]e@Om@SsAIy@GwDIwB@}BF}BC]AcEIq@Wq@i@eBMy@AkBUyDIKEvAIZUNK?MFc@ZUGKeAG}@M{DLgAD_ADiFHKtBITm@By@OS[QAUF}@PeBA}AIe@GQc@g@UaBUs@}@gAKi@Ns@A[Kw@GS]g@Ws@I}BOwB?{@SqDA_AQwDAw@g@DEGAu@B}BA}@Fy@Re@Hw@A_AUiAH{@RYXk@EwBG{@OiAAmA
So you can see
@xAD~@
becomes
@~@
when I would expect it to be
@\xAD~@
.
Advertisement
Answer
The basic problem is that there are no backslashes in your string. Your source code has backslashes, but they are all escape signals. If you want to retain the backslashes in “WYSIWYG” style, use raw
string mode:
txt = r"qnkyHbgFYhB..."
This will retain the characters as seen, without processing the usual escape sequences.