首页 > 解决方案 > 如何将纯文本转换为可解析文本(每个单词之间有百分比符号)?

问题描述

我有要传递给 API 的纯文本,但文本中有欧元符号 (€),这会引发错误。但是,当我将文本传递给 API 网站 (GrammarBot) 上的测试函数时,它会将 € 符号转换为可读的符号。这是转换:

输入:“在德国,数百万人申请参加一项全民基本收入研究,该研究将为参与者提供每月 1,200 欧元(1,423 美元)的收入,而在英国,包括怡和在内的 100 多名立法者正在推动政府开始类似的试验。与此同时,奥地利启动了一项首创的试点计划,该计划将保证为在维也纳西南约 40 英里处长期遭受苦难的前工业城镇 Marienthal 为持续失业而苦苦挣扎的居民提供就业机会。人气飙升,研究将转化为行动浪潮是一个悬而未决的问题。但有些人,比如怡和,看到了乐观的理由。

输出: "在%20德国%2C%2000万%20%20人%20应用%20到%20加入%20a%20研究%20%20通用%20基本%20收入%20那个%20将%20提供%20参与者%20with%20%E2%82%AC1% 2C200%20(%241%2C423)%20a%20month%2C%20while%20in%20the%20United%20Kingdom%2C%20more%20than%20100%20立法者%20%E2%80%94%20包括%20Jardine%20% E2%80%94%20are%20pushing%20the%20government%20to%20start%20similar%20trials.%20Austria%2C%20meanwhile%2C%20has%20launched%20a%20first-of-its-kind%20pilot%20program%20that %20将%20保证%20支付%20工作%20到%20居民%20挣扎%20与%20持续%20失业%20%20马里恩塔尔%2C%20a%20长期受苦%20前%20工业%20城镇%20约%2040%20英里%20西南%20%20维也纳.%20Whether%20the%20spike%20in%20popularity%20and%20research%20will%20translate%20into%20a%20wave%20of%20action%20is%20an%20open%20question。%20但是%20some%2C%20like%20Jardine%2C%20see%20reason%20for%20乐观。”

我什至不确定这种转换的术语是什么,但有人有解决方案吗?

标签: pythontext-parsingtext-formatting

解决方案


这称为 URL 编码。您应该使用以下quote功能urllib.parse

from urllib.parse import quote

s = "In Germany, millions of people applied to join a study of universal basic income that will provide participants with €1,200 ($1,423) a month..."

print(quote(s, safe='/()'))

结果是:

In%20Germany%2C%20millions%20of%20people%20applied%20to%20join%20a%20study%20of%20universal%20basic%20income%20that%20will%20provide%20participants%20with%20%E2%82%AC1%2C200%20(%241%2C423)%20a%20month%2C%20while%20

safe参数告诉它不要编码一些被认为“可以安全跳过”的字符。在您的情况下,我看到()未编码,因此我已将它们添加到safe


推荐阅读