gpt4 book ai didi

python - 将所有字母转换为大写字母,但反斜杠后面的字母除外

转载 作者:太空宇宙 更新时间:2023-11-04 08:58:31 25 4
gpt4 key购买 nike

我有以下 8 位十六进制字符串 \x00\x13\xa2\x00@\n!\x1c所需的输出是 '\x00\x13\xA2\x00@\n!\x1C'

我需要通过将除了 \

之后的所有字母更改为大写字母来做到这一点

我试图通过将整个字符串变成大写并将 N 和 X 变成小写来做到这一点,但这远非理想

import re
mysourceaddrlong = ( repr(data['source_addr_long'])[1:-1] )

输出 \x00\x13\xa2\x00@\n!\x1c

 mysourceaddrlongUPPERCASE = mysourceaddrlong.upper()
mysourceaddrlongFIXED = re.sub('[XN]+', lambda m: m.group(0).lower(), mysourceaddrlongUPPERCASE)

最佳答案

你根本不需要正则表达式。你可以只使用 str 函数

>>> mysourceaddrlong = r"\x00\x13\xa2\x00@\n!\x1c"
>>> "\\".join([(i[0]+i[1:].upper()) for i in mysourceaddrlong.split('\\') if i])
'x00\\x13\\xA2\\x00@\\n!\\x1C'

将生成器表达式与连接结合起来,它会为您解决

编辑

如果你想在前面加一个\

例如:

str = 'x00\\x13\\xA2\\x00@\\n!\\x1C' # what you get
str = "\\"+str

关于python - 将所有字母转换为大写字母,但反斜杠后面的字母除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27999037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com