在字符串后面/中保持大写

2024-10-03 11:13:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试为以下字符串命名:

"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在/)

有没有一个简单的方法来做这件事?你知道吗


Tags: 方法字符串string命名longprint大写men
3条回答

按/拆分,然后在所有组件上分别运行capwords,然后重新连接组件

text = "Men's L/s Long Sleeve"
"/".join(map(string.capwords, text.split("/")))
Out[10]: "Men's L/S Long Sleeve"

听起来/可能不是需要大写字母的可靠指标。如果更可靠的指标实际上是字母原来是大写的,您可以尝试遍历每个字符串,只提取升格为大写的字母:

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"

我认为这可能比使用/作为指示符更可取。你知道吗

可以拆分“/”上的字符串,使用string.capwords在每个子字符串上,并在“/”上重新联接:

import string

'/'.join(string.capwords(s) for s in "Men's L/S long sleeve".split('/'))

相关问题 更多 >