如何将带有特殊控制字符的字符串(如\'x1b')转换为标准字符串?

时间:2016-10-11 16:48:08

标签: python sockets

当我使用python套接字程序时,我们给出一个选项:

1) Input A to show your name
2) Input B to show your age
3) Input other to set your name

>>

当客户输入'Too'+删除按钮+'m'时,服务器会收到'Too \ x1bm'。

如何在Python中将'Too \ x1bm'转换为'Tom'?

可能还有其他控制字符,例如“移动光标”和“标签”。

2 个答案:

答案 0 :(得分:0)

如果您知道所有“错误字符”,则可以使用.replace删除不需要的部分。

'Too\x1bm'.replace(a[a.index('\x1b')-1:a.index('\x1b')+1],'')
returns >>> Tom

答案 1 :(得分:0)

我的第一个猜测是:

line = 'Too\x1bm'

if '\x1b' in line:
    while True:
        index = line.find('\x1b')
        if index > 0:
            line = line[:index - 1] + line[index + 1:]
        else:
            break

    line = line.replace('\x1b', '')