मैं एक निश्चित बिंदु पर अलग-अलग तारों को टुकड़ा करना चाहता हूं। विशिष्ट होने के लिए, मैं पहले '|' से पहले स्ट्रिंग के हिस्से को प्रिंट करना चाहता हूं। .

data=' xbox 360 | 10000 | NEW '
length=len(data)

for i in range(length):
    if (data[i]=='|'):
        product=data[:i]

print(product)

हालांकि जब मैं कोड चलाता हूं तो परिणाम यह होता है:

एक्सबॉक्स 360 | 10000

मैं इसे केवल दिखाना चाहता हूं:

एक्सबॉक्स 360

2
Vasal 24 अक्टूबर 2018, 22:33

1 उत्तर

सबसे बढ़िया उत्तर

आपको बस .split() की आवश्यकता है:

the_stuff = data.split('|')[0]

यह सीमांकक के रूप में | का उपयोग करके रेखा को विभाजित करेगा और परिणाम को एक टपल में देगा, लेकिन [0] केवल टपल में पहला ऑफसेट देता है जो पहले | से पहले सब कुछ है।

यदि आप सभी 3 घटक चाहते हैं, तो आपको बस आवश्यकता है:

tuple_of_the_stuff = data.split('|')

और अब आपके पास एक टपल है: (' xbox 360 ', ' 10000 ', ' NEW ')

संपादित करें: और जैसा कि नीचे सुझाव दिया गया है, आप किसी बिंदु पर अपने टपल के परिणामी मूल्यों को साफ करने के लिए .strip() का उपयोग कर सकते हैं।

4
UtahJarhead 25 अक्टूबर 2018, 15:03