字符串处理: 对文本进行半角全角转换

def QB_format(text, method='B2Q'):
    '''
    全角半角转换
    B2Q: 半角转全角
    Q2B: 全角转半角
    '''

    MAP_PUNCTUATION = {
        "“": '"',
        "”": '"',
        "!": "!",
        "¥": "$",
        "……": "^",
        "(": "(",
        ")": ")",
        "——": "--",
        "【": "[",
        "】": "]",
        ";": ";",
        "’": "'",
        ":": ":",
        ",": ",",
        "。": ".",
        "?": "?",
    }

    MAP_PUNCTUATION_reverse = {v: k for k, v in MAP_PUNCTUATION.items()}
    

    # 半角转全角
    if method=='B2Q':
        text_B2Q = ''.join([MAP_PUNCTUATION_reverse[i] if i in MAP_PUNCTUATION_reverse else i for i in text])
        return text_B2Q

    # 全角转半角
    elif method=='Q2B':
        text_Q2B = ''.join([MAP_PUNCTUATION[i] if i in MAP_PUNCTUATION else i for i in text])
        return text_Q2B
    
    else:
        raise Exception('choose method!')

# 全角转半角:
text = 'NLP 与许多其他基于人工智能的创新一样,ChatGPT也让一些人产生了疑虑和担忧。【OpenAI】承认,该工具倾向于用“听起来合理但不正确或无意义的答案”来回应,该公司认为这个问题很难解决。'
print(QB_format(text, method='Q2B')) 
# NLP 与许多其他基于人工智能的创新一样,ChatGPT也让一些人产生了疑虑和担忧.[OpenAI]承认,该工具倾向于用"听起来合理但不正确或无意义的答案"来回应,该公司认为这个问题很难解决.

# 半角转全角:
text = 'NLP 与许多其他基于人工智能的创新一样,ChatGPT也让一些人产生了疑虑和担忧.[OpenAI]承认,该工具倾向于用"听起来合理但不正确或无意义的答案"来回应,该公司认为这个问题很难解决.'
print(QB_format(text, method='B2Q'))
# NLP 与许多其他基于人工智能的创新一样,ChatGPT也让一些人产生了疑虑和担忧。【OpenAI】承认,该工具倾向于用”听起来合理但不正确或无意义的答案”来回应,该公司认为这个问题很难解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值