【发布时间】:2018-12-30 09:43:14
【问题描述】:
我有以下字符串:
Customer sale 88% in urm 50
引用urllib.parse.quote,变成:
Customer%20sale%2088%25%20in%20urm%2050%27
然后我需要将其长度限制为最多 30 个字符,我使用 value[:30]。
问题是它变成了无效的"Customer%20sale%2088%25%20in%":
最后一个 % 是引用字符串中 %20 的一部分,使其成为无效的引用字符串。
我无法控制原始字符串,最终结果需要有最大 30 的长度,所以我无法预先截断它。
什么方法可行?
【问题讨论】:
-
你想让它给
Customer%20sale%2088%25%20in删除尾随%吗? -
在这种情况下是的。 o但如果长度为 31,则必须删除 2 个字符。在任何情况下都应该是安全的。
-
.strip('%20')会处理这种情况,可能不是所有情况。 -
"Customer%20sale%2088%25%20in%20urm%2050%27"[:30]产生'Customer%20sale%2088%25%20in%2',其中有一部分%20,在这种情况下你想做什么? -
@Ayxan,根据我的理解应该给
Customer%20sale%2088%25%20in。