បញ្ចេញ បញ្ចូល បំបែក លុប និងជំនួសខ្សែអក្សរដែលមានបន្ទាត់ថ្មីនៅក្នុង Python

អាជីវកម្ម

ខាងក្រោមនេះពិពណ៌នាអំពីប្រតិបត្តិការនៃខ្សែអក្សរដែលមានបន្ទាត់ថ្មីនៅក្នុង Python ។

  • បង្កើតខ្សែអក្សរដែលមានបន្ទាត់ថ្មី លទ្ធផលបោះពុម្ព (បង្ហាញ)
    • តួអក្សរបន្ទាត់ថ្មី (ឬទាំងពីរនៃ CR និង LF អាស្រ័យលើប្រព័ន្ធ)\n(LF),\r\n(CR+LF)
    • សម្រង់បីដង'',"""
    • ប្រសិនបើអ្នកចង់ចូលបន្ទាត់
  • ភ្ជាប់​បញ្ជី​ខ្សែ​ជាមួយ​បន្ទាត់​ថ្មី។
  • បំបែកខ្សែអក្សរទៅជាបន្ទាត់ថ្មី និងបញ្ជី:splitlines()
  • លុប និងជំនួសលេខកូដព័ត៌មានបន្ទាត់
  • បោះពុម្ព​លទ្ធផល​ដោយ​មិន​នៅ​ពី​ក្រោយ​បន្ទាត់​ថ្មី។

បង្កើតខ្សែអក្សរដែលមានបន្ទាត់ថ្មី បោះពុម្ពលទ្ធផល

តួអក្សរបន្ទាត់ថ្មី (ឬទាំងពីរនៃ 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
#     

ដោយប្រើ backslash ដើម្បីមិនអើពើបន្ទាត់ថ្មីនៅក្នុងកូដ ហើយធ្វើឱ្យវាក្លាយជាបន្ទាត់បន្ត វាអាចត្រូវបានសរសេរដូចខាងក្រោម

ភ្ជាប់បន្ទាត់នីមួយៗដោយ ” ឬ “” ហើយបន្ថែមតួអក្សរបន្ទាត់ថ្មី ←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

ប្រសិនបើអ្នកគ្រាន់តែចង់តម្រឹមការចាប់ផ្តើមនៃបន្ទាត់មួយ គ្រាន់តែបន្ថែម backslash ទៅបន្ទាត់ដំបូងនៃសម្រង់បី។

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()

វិធីសាស្រ្តខ្សែអក្សរ splitlines() អាចត្រូវបានប្រើដើម្បីបំបែកខ្សែអក្សរទៅក្នុងបញ្ជីបន្ទាត់ថ្មី។

splitlines() នឹងបំបែកកូដបំបែកបន្ទាត់ណាមួយខាងក្រោម។ ផ្ទាំងបញ្ឈរ និងការបំបែកទំព័រក៏ត្រូវបានបំបែកផងដែរ។

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

លុប និងជំនួសលេខកូដព័ត៌មានបន្ទាត់

ដោយការរួមបញ្ចូលបន្ទាត់បំបែក() និងចូលរួម() វាគឺអាចធ្វើទៅបានដើម្បីដក (យកចេញ) កូដបន្ទាត់ថ្មីពីខ្សែអក្សរដែលមានបន្ទាត់ថ្មី ឬជំនួសពួកវាដោយខ្សែផ្សេងទៀត។

s = 'Line1\nLine2\r\nLine3'

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

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

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

ការ​ផ្លាស់​ប្តូរ​ជា​ក្រុម​នៃ​កូដ​ចំណី​បន្ទាត់​ក៏​អាច​ធ្វើ​បាន​ដែរ។ ទោះបីជាលេខកូដបំបែកបន្ទាត់ត្រូវបានលាយបញ្ចូលគ្នា ឬមិនស្គាល់ក៏ដោយ ពួកវាអាចត្រូវបានបំបែកដោយប្រើ splitlines() ហើយបន្ទាប់មកភ្ជាប់ជាមួយកូដបំបែកបន្ទាត់ដែលចង់បាន។

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

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

ដូចដែលបានរៀបរាប់ខាងលើ splitlines() នឹងបំបែកកូដបន្ទាត់ថ្មីណាមួយ ដូច្នេះមិនចាំបាច់ព្រួយបារម្ភជាពិសេសអំពីកូដបន្ទាត់ថ្មីនៅក្នុងករណីនៃវិធីសាស្រ្តរួមបញ្ចូលគ្នានូវ splitlines() និង join() នោះទេ។

ប្រសិនបើកូដបន្ទាត់ថ្មីមានភាពច្បាស់លាស់ វាក៏អាចត្រូវបានជំនួសដោយវិធីជំនួស() ដែលជំនួសខ្សែអក្សរ។

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'

វាអាចទៅរួចក្នុងការជំនួសលេខកូដបន្ទាត់ថ្មីជាច្រើនដោយធ្វើម្តងទៀតជំនួស() ប៉ុន្តែវានឹងមិនដំណើរការទេប្រសិនបើការបញ្ជាទិញខុស ពីព្រោះ “\r\n” មាន “\n” ។ វិធីសាស្រ្តរួមបញ្ចូលគ្នានូវបន្ទាត់បំបែក () និងចូលរួម () ដែលបានពិពណ៌នាខាងលើគឺមានសុវត្ថិភាពជាង ពីព្រោះវាមិនចាំបាច់ព្រួយបារម្ភអំពីលេខកូដព័ត៌មានបន្ទាត់នោះទេ។

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() បន្ថែមបន្ទាត់ថ្មីបន្តបន្ទាប់តាមលំនាំដើម។ ដូច្នេះ ប្រសិនបើ print() ត្រូវបានប្រតិបត្តិជាបន្តបន្ទាប់ លទ្ធផលលទ្ធផលនីមួយៗនឹងត្រូវបានបង្ហាញនៅលើបន្ទាត់ថ្មី។

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

នេះដោយសារតែតម្លៃលំនាំដើមនៃអាគុយម៉ង់បញ្ចប់នៃការបោះពុម្ព() ដែលបញ្ជាក់ខ្សែអក្សរដែលត្រូវបន្ថែមនៅចុងបញ្ចប់គឺជានិមិត្តសញ្ញាបន្ទាត់ថ្មី។

ប្រសិនបើអ្នកមិនចង់បានបន្ទាត់ថ្មីនៅចុងបញ្ចប់ទេ គ្រាន់តែកំណត់ការបញ្ចប់អាគុយម៉ង់ទៅជាខ្សែអក្សរទទេ ហើយលទ្ធផលនឹងចេញដោយគ្មានបន្ទាត់ថ្មីនៅចុងបញ្ចប់។

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

ចុងបញ្ចប់នៃអាគុយម៉ង់អាចជាខ្សែអក្សរណាមួយ។

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

ទោះយ៉ាងណាក៏ដោយ ប្រសិនបើអ្នកចង់ភ្ជាប់ខ្សែអក្សរសម្រាប់លទ្ធផល វាជាការងាយស្រួលក្នុងការភ្ជាប់ខ្សែអក្សរដើមជាជាងបញ្ជាក់ពួកវានៅក្នុងអាគុយម៉ង់ចុងក្រោយនៃ print()។ សូមមើលអត្ថបទខាងក្រោម។

Copied title and URL