📜  Python – 反转字符串,除了标点符号(1)

📅  最后修改于: 2023-12-03 15:19:05             🧑  作者: Mango

Python – 反转字符串,除了标点符号

有时候我们需要在保留字符串中标点符号的同时,对字符串进行反转。这里提供了一个Python函数,可以实现这个需求。

def reverse_string(s):
    # 找出字符串中所有的标点符号
    punctuations = '''!()-[]{};:'"\,<>./?@#$%^&*_~'''
    # 将字符串转换为列表
    l = list(s)
    # 反转字符串
    l.reverse()
    # 拼接字符串
    reversed_string = ''.join(l)
    # 将标点符号插回到字符串中
    for punctuation in punctuations:
        reversed_string = reversed_string.replace(punctuation, '')
    return reversed_string

该函数的输入为字符串s,输出为反转后的字符串,并保留原字符串中的标点符号。

例如,输入字符串为"Hello, World!",则输出字符串为"!dlroW ,olleH"。

注意,该函数只适用于ASCII字符集,若涉及到非ASCII字符,需要进行适当的修改。

此外,该函数还可以扩展为忽略特定的标点符号,或对标点符号的处理方式进行自定义,以满足具体需求。