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】承认,该工具倾向于用”听起来合理但不正确或无意义的答案”来回应,该公司认为这个问题很难解决。
06-14