पाइथनमा नयाँ लाइनहरू समावेश गर्ने स्ट्रिङहरू आउटपुट, कन्केटनेट, विभाजन, मेटाउनुहोस् र बदल्नुहोस्

व्यापार

निम्नले पाइथनमा नयाँलाइनहरू भएको स्ट्रिङको सञ्चालनको वर्णन गर्दछ।

  • नयाँ लाइनहरू, प्रिन्ट आउटपुट (प्रदर्शन) समावेश स्ट्रिङ सिर्जना गर्नुहोस्
    • newline क्यारेक्टर (या त वा दुबै CR र LF प्रणालीको आधारमा)\n(LF),\r\n(CR+LF)
    • ट्रिपल उद्धरण'',"""
    • यदि तपाइँ इन्डेन्ट गर्न चाहनुहुन्छ भने
  • नयाँलाइनहरूसँग स्ट्रिङहरूको सूची जोड्नुहोस्
  • स्ट्रिङलाई नयाँ लाइन र सूचीमा विभाजन गर्नुहोस्:splitlines()
  • लाइन फिड कोडहरू हटाउनुहोस् र प्रतिस्थापन गर्नुहोस्
  • प्रिन्ट आउटपुट नयाँ लाइन पछि बिना

नयाँ लाइनहरू, प्रिन्ट आउटपुट समावेश स्ट्रिङ सिर्जना गर्नुहोस्

newline क्यारेक्टर (या त वा दुबै CR र LF प्रणालीको आधारमा)\n(LF),\r\n(CR+LF)

एक स्ट्रिङ भित्र एक लाइन फिड कोड सम्मिलित गर्दा एउटा नयाँ लाइन हुनेछ।

s = 'Line1\nLine2\nLine3'
print(s)
# Line1
# Line2
# Line3

s = 'Line1\r\nLine2\r\nLine3'
print(s)
# Line1
# Line2
# Line3

लाइन फिड कोडहरू निम्न तरिकाहरूमा प्रयोग गर्न सकिन्छ। केही सम्पादकहरूले तपाईंलाई लाइन ब्रेक कोड चयन गर्न अनुमति दिन्छ।

Macを含むUnix系\n(LF)
Windows系\r\n(CR+LF)

ट्रिपल उद्धरण'',"""

यदि ट्रिपल उद्धरणहरू स्ट्रिङ संलग्न गर्न प्रयोग गरिन्छ भने, यो नयाँ लाइनहरू सहित जस्तै स्ट्रिङ हुनेछ।

s = '''Line1
Line2
Line3'''
print(s)
# Line1
# Line2
# Line3

यदि तपाइँ इन्डेन्ट गर्न चाहनुहुन्छ भने

ट्रिपल उद्धरणहरू पनि स्ट्रिङमा खाली ठाउँहरू हुन्, त्यसैले यदि तपाईंले तल देखाइएको रूपमा कोड र इन्डेन्टमा सफासँग लेख्ने प्रयास गर्नुभयो भने, अनावश्यक ठाउँहरू घुसाइनेछ।

s = '''
    Line1
    Line2
    Line3
    '''
print(s)
# 
#     Line1
#     Line2
#     Line3
#     

कोडमा नयाँलाइनहरूलाई बेवास्ता गर्न र यसलाई निरन्तरता रेखा बनाउन ब्याकस्ल्याश प्रयोग गरेर, यसलाई निम्न रूपमा लेख्न सकिन्छ।

प्रत्येक पङ्क्तिलाई ” वा “” सँग संलग्न गर्नुहोस् र वाक्यको अन्त्यमा नयाँ रेखा वर्ण ←n थप्नुहोस्।

s = 'Line1\n'\
    'Line2\n'\
    'Line3'
print(s)
# Line1
# Line2
# Line3

यहाँ, सिन्ट्याक्स भनेको क्रमिक स्ट्रिङ शाब्दिकहरू जोडिएका छन्। विवरणका लागि निम्न लेख हेर्नुहोस्।

यदि तपाइँ स्ट्रिङमा इन्डेन्टेसन थप्न चाहनुहुन्छ भने, प्रत्येक रेखामा स्ट्रिङमा खाली ठाउँ थप्नुहोस्।

s = 'Line1\n'\
    '    Line2\n'\
    '        Line3'
print(s)
# Line1
#     Line2
#         Line3

थप रूपमा, लाइन ब्रेकहरू कोष्ठकहरूमा स्वतन्त्र रूपमा बनाउन सकिन्छ, निम्नलाई ब्याकस्ल्याशको सट्टा कोष्ठक प्रयोग गरेर लेख्न सकिन्छ।

s = ('Line1\n'
     'Line2\n'
     'Line3')
print(s)
# Line1
# Line2
# Line3

s = ('Line1\n'
     '    Line2\n'
     '        Line3')
print(s)
# Line1
#     Line2
#         Line3

यदि तपाइँ केवल रेखाको सुरुमा पङ्क्तिबद्ध गर्न चाहनुहुन्छ भने, केवल ट्रिपल उद्धरणको पहिलो रेखामा ब्याकस्ल्याश थप्नुहोस्।

s = '''\
Line1
Line2
Line3'''
print(s)
# Line1
# Line2
# Line3

s = '''\
Line1
    Line2
        Line3'''
print(s)
# Line1
#     Line2
#         Line3

नयाँलाइनहरूसँग स्ट्रिङहरूको सूची जोड्नुहोस्

स्ट्रिङ विधि join() लाई एकल स्ट्रिङमा स्ट्रिङको सूची जोड्न प्रयोग गर्न सकिन्छ।

जब join() लाई नयाँ लाइन क्यारेक्टरबाट कल गरिन्छ, प्रत्येक स्ट्रिङ एलिमेन्टलाई नयाँ लाइनसँग जोडिएको हुन्छ।

l = ['Line1', 'Line2', 'Line3']

s_n = '\n'.join(l)
print(s_n)
# Line1
# Line2
# Line3

print(repr(s_n))
# 'Line1\nLine2\nLine3'

s_rn = '\r\n'.join(l)
print(s_rn)
# Line1
# Line2
# Line3

print(repr(s_rn))
# 'Line1\r\nLine2\r\nLine3'

माथिको उदाहरणमा जस्तै, बिल्ट-इन प्रकार्य repr() लाई स्ट्रिङहरू जाँच गर्न प्रयोग गर्न सकिन्छ जसमा नयाँ लाइन कोडहरू छन्।

स्ट्रिङलाई नयाँ लाइन र सूचीमा विभाजन गर्नुहोस्:splitlines()

string विधि splitlines() लाई नयाँ लाइनहरूको सूचीमा स्ट्रिङ विभाजन गर्न प्रयोग गर्न सकिन्छ।

splitlines() ले निम्न लाइन ब्रेक कोडहरू मध्ये कुनै पनि विभाजन गर्नेछ। ठाडो ट्याबहरू र पृष्ठ ब्रेकहरू पनि विभाजित छन्।

  • \n
  • \r\n
  • \v
  • \f
s = 'Line1\nLine2\r\nLine3'
print(s.splitlines())
# ['Line1', 'Line2', 'Line3']

लाइन फिड कोडहरू हटाउनुहोस् र प्रतिस्थापन गर्नुहोस्

स्प्लिटलाइनहरू() र join() को संयोजन गरेर, नयाँ लाइनहरू भएको स्ट्रिङबाट नयाँ लाइन कोडहरू हटाउन वा अन्य स्ट्रिङहरूसँग बदल्न सम्भव छ।

s = 'Line1\nLine2\r\nLine3'

print(''.join(s.splitlines()))
# Line1Line2Line3

print(' '.join(s.splitlines()))
# Line1 Line2 Line3

print(','.join(s.splitlines()))
# Line1,Line2,Line3

लाइन फिड कोडहरूको ब्याच परिवर्तन पनि सम्भव छ। यदि लाइन ब्रेक कोडहरू मिश्रित वा अज्ञात छन् भने, तिनीहरू स्प्लिटलाइनहरू () प्रयोग गरेर विभाजित गर्न सकिन्छ र त्यसपछि इच्छित लाइन ब्रेक कोडसँग जोड्न सकिन्छ।

s_n = '\n'.join(s.splitlines())
print(s_n)
# Line1
# Line2
# Line3

print(repr(s_n))
# 'Line1\nLine2\nLine3'

माथि उल्लेख गरिए अनुसार, स्प्लिटलाइन्स() ले कि त नयाँ लाइन कोड विभाजित गर्नेछ, त्यसैले स्प्लिटलाइनहरू() र join() को संयोजन गर्ने विधिको मामलामा नयाँ लाइन कोडहरूको ’boutमा विशेष चिन्तित हुनु आवश्यक छैन।

यदि नयाँ लाइन कोड स्पष्ट छ भने, यो पनि बदल्न सकिन्छ () विधि, जसले स्ट्रिङ प्रतिस्थापन गर्दछ।

s = 'Line1\nLine2\nLine3'

print(s.replace('\n', ''))
# Line1Line2Line3

print(s.replace('\n', ','))
# Line1,Line2,Line3

नोट गर्नुहोस्, यद्यपि, यदि यसले अपेक्षित भन्दा फरक लाइन फिड कोडहरू समावेश गर्दछ भने यसले काम गर्दैन।

s = 'Line1\nLine2\r\nLine3'

s_error = s.replace('\n', ',')
print(s_error)
# ,Line3Line2

print(repr(s_error))
# 'Line1,Line2\r,Line3'

s_error = s.replace('\r\n', ',')
print(s_error)
# Line1
# Line2,Line3

print(repr(s_error))
# 'Line1\nLine2,Line3'

रिप्लेस() दोहोर्याएर धेरै नयाँ लाइन कोडहरू प्रतिस्थापन गर्न सम्भव छ, तर यदि आदेश गलत छ भने यसले काम गर्दैन ’cause “\r\n” मा “\n” समावेश छ। माथि वर्णन गरिएको splitlines() र join() को संयोजन गर्ने विधि सुरक्षित छ ’cause लाइन फिड कोडहरूको ’boutमा चिन्ता लिनु पर्दैन।

s = 'Line1\nLine2\r\nLine3'

print(s.replace('\r\n', ',').replace('\n', ','))
# Line1,Line2,Line3

s_error = s.replace('\n', ',').replace('\r\n', ',')
print(s_error)
# ,Line3Line2

print(repr(s_error))
# 'Line1,Line2\r,Line3'

print(','.join(s.splitlines()))
# Line1,Line2,Line3

वाक्यको अन्त्यमा लाइन फिड कोडहरू हटाउन rstrip() विधि प्रयोग गर्नुहोस्। rstrip() स्ट्रिङको दायाँ छेउमा सेतो स्पेस क्यारेक्टरहरू (लाइन फिडहरू सहित) हटाउने विधि हो।

s = 'aaa\n'
print(s + 'bbb')
# aaa
# bbb

print(s.rstrip() + 'bbb')
# aaabbb

प्रिन्ट आउटपुट नयाँ लाइन पछि बिना

प्रिन्ट() प्रकार्यले पूर्वनिर्धारित रूपमा नयाँ लाइन थप्छ। त्यसकारण, यदि प्रिन्ट() क्रमशः निष्पादित हुन्छ भने, प्रत्येक आउटपुट नतिजा नयाँ लाइनमा प्रदर्शित हुनेछ।

print('a')
print('b')
print('c')
# a
# b
# c

यो ’cause प्रिन्ट () को तर्क अन्त्यको पूर्वनिर्धारित मान, जसले अन्त्यमा थपिने स्ट्रिङ निर्दिष्ट गर्दछ, नयाँ रेखा प्रतीक हो।

यदि तपाइँ अन्त्यमा नयाँ लाइन चाहनुहुन्न भने, केवल तर्क अन्त्यलाई खाली स्ट्रिङमा सेट गर्नुहोस्, र आउटपुट अन्तमा नयाँ लाइन बिना आउटपुट हुनेछ।

print('a', end='')
print('b', end='')
print('c', end='')
# abc

तर्कको अन्त्य कुनै पनि स्ट्रिङ हुन सक्छ।

print('a', end='-')
print('b', end='-')
print('c')
# a-b-c

यद्यपि, यदि तपाइँ आउटपुटको लागि स्ट्रिङहरू जोड्न चाहनुहुन्छ भने, प्रिन्ट () को अन्त्य तर्कमा निर्दिष्ट गर्नु भन्दा मूल स्ट्रिङहरू जोड्न सजिलो छ। निम्न लेख हेर्नुहोस्।

Copied title and URL