2008-12-09 11 views
43

क्या किसी को स्ट्रिंग के पहले अक्षर को कैपिटल करने का वास्तव में सरल तरीका पता है, चाहे बाकी स्ट्रिंग के कैपिटलाइजेशन के बावजूद?एक स्ट्रिंग को कैपिटल करें

उदाहरण के लिए:

asimpletest -> Asimpletest 
aSimpleTest -> ASimpleTest 

मैं के रूप में अच्छी तरह से सभी स्ट्रिंग लंबाई ऐसा करने में सक्षम होना चाहते हैं।

उत्तर

65

@saua सही है, और

s = s[:1].upper() + s[1:] 

किसी भी स्ट्रिंग के लिए काम करेंगे।

+0

अच्छा! वे छोटी सी चीजें हैं जिन्हें मैं नहीं जानता ... मुझे पाइथन का अधिक बार उपयोग करना चाहिए। –

+1

क्यों नहीं है s = s [0] .upper() + s [1:] '? '[: 1]' क्यों? – hobs

+7

@ सोआ नोट्स के रूप में, [0] 'खाली स्ट्रिंग पर असफल हो जाएगा। –

8
s = s[0].upper() + s[1:] 

यह खाली स्ट्रिंग को छोड़कर प्रत्येक स्ट्रिंग के साथ काम करना चाहिए (जब s="")।

+0

मुझे इसे हराया, और आपका और अधिक सुरुचिपूर्ण है। – UnkwnTech

13

your_string.title() के बारे में क्या?

उदा। "banana".title() -> Banana

+3

'str.title' स्ट्रिंग –

+0

@ जॉन ला रोय में प्रत्येक _word_ को कैपिटल करता है ... जो कि मैं विभाजन के लिए एक नया डीफ़ लिखने के बिना करना चाहता हूं, प्रत्येक शब्द को कैपिटल करता हूं, और इसे एक साथ वापस रखता हूं ... upvote स्काईलर –

4

यह वास्तव में आप एक कैपिटलाइज़ किए गए शब्द, बस पहले अक्षर

भुनाने को बड़े अक्षरों में की देता है बजाय -> कैपिटल में

def capitalize(str): 
    return str[:1].upper() + str[1:].lower()....... 
112
>>> b = "my name" 
>>> b.capitalize() 
'My name' 
>>> b.title() 
'My Name' 
+5

मानक लाइब्रेरी का उपयोग करने का तरीका तय करना है। – Damian

+1

... पूंजीकरण को छोड़कर() किसी अन्य मौजूदा कैप्स को हटा देता है, जिसे प्रश्नकर्ता स्पष्ट रूप से नहीं करना चाहता था: 'aSimpleTest'.capitalize() =>' Asimpletest ' – pfctdayelise

+1

@pfctdayelise .. क्या आप सभी उत्तरों को संतोषजनक नहीं दे रहे हैं यह आवश्यकता या सिर्फ मेरा :)? हालांकि, मैं आपके अवलोकन से सहमत हूं। ब्लेयर कॉनराड का जवाब सबसे सटीक है। लेकिन, अन्य उत्तरों स्ट्रिंग पूंजीकरण के आसपास उपयोगी जानकारी प्रस्तुत करने में मूल्य जोड़ते हैं, जिसमें मेरा भी शामिल है। उनमें से तीन स्वीकार किए गए उत्तर के बाद बाद में जोड़े गए थे। – tigeronk2

-4
str = str[:].upper() 

इस में यह करने के लिए सबसे आसान तरीका है मेरी राय

+0

यह पूरी तरह गलत है, क्योंकि यह स्ट्रिंग के प्रत्येक चरित्र को अपरकेस में परिवर्तित करता है। इसके अलावा, '[:]' बेकार है। –

2

पहले शब्द को पूंजीकृत करने के लिए;

a="asimpletest" 
print a.capitalize() 

सभी स्ट्रिंग अपरकेस को निम्नलिखित टिप का उपयोग करने के लिए;

print a.upper() 

यह मुझे लगता है कि यह आसान है।

1

आप

In [1]: x = "hello" 

In [2]: x.capitalize() 
Out[2]: 'Hello' 

आशा है कि यह मदद करता है करने के लिए str.capitalize() फ़ंक्शन का उपयोग कर सकते हैं।

संबंधित मुद्दे