我正试图为以下字符串加上标题:
"Men's L/S long sleeve"
我现在正在使用string.capwords
,但无法正常工作。
例如:
x = "Men's L/s Long Sleeve"
y = string.capwords(x)
print(y)
输出:
Men's L/s Long Sleeve
但我想要
Men's L/S Long Sleeve
(/之后的大写S)
有没有简单的方法可以做到这一点?
答案 0 :(得分:2)
您可以在'/'上分割字符串,在每个子字符串上使用string.capwords,然后在'/'上重新加入:
'/'.join(string.capwords(s) for s in x.split('/'))
答案 1 :(得分:1)
用/分隔,然后在所有组件上分别输入关键词,然后重新加入组件
text = "Men's L/s Long Sleeve"
"/".join(map(string.capwords, text.split("/")))
Out[10]: "Men's L/S Long Sleeve"
答案 2 :(得分:0)
听起来/
可能不是可靠的指示,表明需要使用大写字母。如果更可靠的指示实际上是字母是大写的,则可以尝试遍历每个字符串,而仅提取被提升为上字母的字母:
import string
x = "Men's L/S long sleeve"
y = string.capwords(x)
z = ''
for i,l in enumerate(x):
if(l.isupper()):
z += l
else:
z += y[i]
在类似这样的字符串上
"brand XXX"
"shirt S/M/L"
"Upper/lower"
您将获得:
"Brand XXX"
"Shirt S/M/L"
"Upper/lower"
我认为这可能比使用/
作为指标更可取。