Python၊ ကော်မာ-ခြားထားသော စာကြောင်းကို ခွဲရန် ပိုင်းခြားပါ၊ နေရာလွတ်များကို ဖယ်ရှားပြီး စာရင်းတစ်ခုသို့ ပြောင်းပါ။

စီးပွားရေးလုပ်ငန်း

Python ရှိ စာရင်းတစ်ခုသို့ ကော်မာ-ခြားထားသော စာကြောင်းကို ပိုင်းခြားသည့်အခါ၊ ကြားတွင် နေရာလွတ်များမရှိပါက၊ split() သာ အလုပ်လုပ်ပါမည်။ နေရာလွတ်များရှိပါက၊ ၎င်းကို strip() နှင့် ပေါင်းစပ်ရန် အသုံးဝင်ပါသည်။ ထို့အပြင်၊ list comprehension notation ကိုအသုံးပြုခြင်းသည် စာရေးရန် စမတ်ကျသောနည်းလမ်းဖြစ်သည်။

ဤကဏ္ဍတွင် အောက်ပါတို့ကို ဦးစွာရှင်းပြပါမည်။

  • သတ်မှတ်ထားသော ကန့်သတ်ချက်ဖြင့် စာကြောင်းတစ်ခုကို ခွဲပြီး ၎င်းကို စာရင်းအဖြစ် ပြန်ပို့ပါ။split()
  • စာကြောင်းတစ်ခု၏ အစနှင့်အဆုံးမှ အပိုစာလုံးများကို ဖယ်ရှားပါ။strip()
  • ဒြပ်စင်များစာရင်းပြုစုရန်အတွက် လုပ်ဆောင်ချက်များနှင့် နည်းလမ်းများကို အသုံးပြုရန် နားလည်နိုင်စွမ်းရှိသော အမှတ်အသားကို စာရင်းပြုစုပါ။

အောက်ဖော်ပြပါအတိုင်း နေရာလွတ်များကို ဖယ်ရှားခြင်းဖြင့် နေရာလွတ်များနှင့် ကော်မာများ ခြားထားသော စာကြောင်းများစာရင်း ပြုလုပ်နည်းကိုလည်း ပြသထားသည်။
one, two, three'

ထို့အပြင်၊ အောက်ပါတို့ကို ဆွေးနွေးပါမည်။

  • နံပါတ်များစာရင်းအဖြစ် မည်သို့ရယူရမည်နည်း။
  • စာရင်းတစ်ခုတွင်ပါဝင်ပြီး ၎င်းကို စာကြောင်းတစ်ကြောင်းပြန်လုပ်ရန် join() ကိုအသုံးပြုနည်း

split():သတ်မှတ်ထားသော ကန့်သတ်ချက်ဖြင့် စာကြောင်းတစ်ခုကို ခွဲပြီး ၎င်းကို စာရင်းအဖြစ် ပြန်ပို့ပါ။

strings များအတွက် method split() ကို အသုံးပြု၍ သင်သည် သတ်မှတ်ထားသော မျဉ်းသားချက်တစ်ခုဖြင့် string တစ်ခုကို ခွဲနိုင်ပြီး ၎င်းကို စာရင်း (array) အဖြစ် ရယူနိုင်သည်။ သတ်မှတ်ထားသော ကန့်သတ်ချက်အား အောက်ပါအငြင်းအခုံများဖြင့် သတ်မှတ်နိုင်ပါသည်။sep

အငြင်းအခုံ sep ကို ချန်လှပ်ထားပြီး မျဉ်းသားကို မသတ်မှတ်ပါက၊ ၎င်းသည် စာကြောင်းကို space များခွဲကာ စာရင်းတစ်ခုကို ပြန်ပေးသည်။ ဆက်တိုက် နေရာလွတ်များနှင့် တဘ်များသည် စာရင်းကို ခွဲပေးမည်ဖြစ်သောကြောင့်၊ သင်သည် တဘ်-စီချယ်ထားသော စာကြောင်းများစာရင်းကို ပြုလုပ်လိုပါက၊ အကြောင်းပြချက်မရှိဘဲ split() ကို သုံးနိုင်သည်။

s = 'one two three'
l = s.split()
print(l)
# ['one', 'two', 'three']

s = 'one two        three'
l = s.split()
print(l)
# ['one', 'two', 'three']

s = 'one\ttwo\tthree'
l = s.split()
print(l)
# ['one', 'two', 'three']

sep argument တွင် အနားသတ်တစ်ခုကို သတ်မှတ်ထားပါက၊ ၎င်းသည် စာရင်းကို ထိုစာကြောင်းဖြင့် ပိုင်းခြားပြီး စာရင်းတစ်ခုကို ပြန်ပေးသည်။

s = 'one::two::three'
l = s.split('::')
print(l)
# ['one', 'two', 'three']

ကော်မာ ခြားထားသည့် စာကြောင်းတစ်ခုတွင်၊ အပိုအဖြူနေရာမရှိပါက ပြဿနာမရှိသော်လည်း၊ သင်သည် ကော်မာတစ်ခုအတွက် အကန့်အသတ်အဖြစ် split() ကို ကော်မာဖြင့် လုပ်ဆောင်ပါက၊ အစတွင်ကျန်ခဲ့သောအဖြူကွက်ပါသောစာကြောင်းများစာရင်းနှင့်အတူတက်ပါ။

s = 'one,two,three'
l = s.split(',')
print(l)
# ['one', 'two', 'three']

s = 'one, two, three'
l = s.split(',')
print(l)
# ['one', ' two', ' three']

အောက်ပါအတိုင်း ကန့်သတ်ချက်အဖြစ် ကော်မာ + space ကို သင်သုံးနိုင်သော်လည်း မူရင်းစာကြောင်းတွင် နေရာလွတ်အရေအတွက် ကွာခြားပါက အလုပ်မဖြစ်ပါ။, '

s = 'one, two, three'
l = s.split(', ')
print(l)
# ['one', 'two', 'three']

s = 'one, two,  three'
l = s.split(', ')
print(l)
# ['one', 'two', ' three']

နောက်ရှင်းပြမည့် string method strip() သည် space နှစ်ခုကို ကိုင်တွယ်ရန် အသုံးပြုနိုင်သည်။

strip():စာကြောင်းတစ်ခု၏ အစနှင့်အဆုံးမှ အပိုစာလုံးများကို ဖယ်ရှားပါ။

strip() သည် စာကြောင်းတစ်ခု၏ အစနှင့်အဆုံးမှ အပိုစာလုံးများကို ဖယ်ရှားရန် နည်းလမ်းတစ်ခုဖြစ်သည်။

အငြင်းအခုံကို ချန်လှပ်ထားပါက၊ နေရာလွတ် စာလုံးများကို ဖယ်ရှားခြင်းဖြင့် စာကြောင်းအသစ်တစ်ခု ပြန်ပေးပါမည်။ မူရင်းစာကြောင်းကိုယ်တိုင်က မပြောင်းပါဘူး။

s = '  one  '
print(s.strip())
# one

print(s)
#   one  

string တစ်ခုအား အငြင်းအခုံအဖြစ် သတ်မှတ်ပါက၊ string တွင်ပါရှိသော စာလုံးများကို ဖယ်ရှားပါမည်။

s = '-+-one-+-'
print(s.strip('-+'))
# one

ဤကိစ္စတွင်၊ နေရာလွတ်များကိုမဖယ်ရှားပါ။ ထို့ကြောင့်၊ အကယ်၍ သင်သည် whitespace ကိုလည်း ဖယ်ရှားလိုပါက၊ အောက်ဖော်ပြပါအတိုင်း အငြင်းအခုံအဖြစ် spaces အပါအဝင် စာကြောင်းတစ်ခုကို ဖြတ်သန်းပါ။-+ '

s = '-+- one -+-'
print(s.strip('-+'))
#  one 

s = '-+- one -+-'
print(s.strip('-+ '))
# one

strip() သည် အစွန်းနှစ်ဖက်လုံးကို ကိုင်တွယ်သည်၊ သို့သော် အောက်ပါလုပ်ဆောင်ချက်များကိုလည်း ရရှိနိုင်ပါသည်။

  • lstrip():လုပ်ငန်းစဉ်အစသာဖြစ်သည်။
  • rstrip():လိုင်း၏အဆုံးကိုသာ လုပ်ဆောင်ပါ။

မှတ်သားနားလည်မှုမှတ်စုစာရင်း- ဒြပ်စင်များစာရင်းအတွက် လုပ်ဆောင်ချက်များနှင့် နည်းလမ်းများကို အသုံးပြုပါ။

စာရင်းတစ်ခု၏ဒြပ်စင်များတွင် လုပ်ဆောင်ချက် သို့မဟုတ် နည်းလမ်းတစ်ခုကို အသုံးပြုလိုပါက၊ စာရင်းကို အဆုံးတွင်ရယူလိုပါက for loop အစား list comprehension notation ကို အသုံးပြုခြင်းသည် စမတ်ကျပါသည်။

ဤတွင်၊ ကျွန်ုပ်တို့သည် စာကြောင်းကို split() ဖြင့် ပိုင်းခြားခြင်းဖြင့် ရရှိသောစာရင်းသို့ strip() ကို အသုံးပြုပါသည်။ စာရင်းပြုလုပ်ရန်အတွက် ကော်မာ-ခြားထားသော စာကြောင်းတစ်ခုရှိ အပိုအဖြူကွက်များကို ဖယ်ရှားနိုင်သည်။

s = 'one, two, three'
l = [x.strip() for x in s.split(',')]
print(l)
# ['one', 'two', 'three']

၎င်းကို ဗလာစာကြောင်းတစ်ခုသို့ အသုံးချသောအခါ၊ အစိတ်အပိုင်းတစ်ခုအနေဖြင့် ဗလာစာကြောင်းတစ်ခုတည်းပါသော စာရင်းတစ်ခုကို ရရှိနိုင်သည်။

s = ''
l = [x.strip() for x in s.split(',')]
print(l)
print(len(l))
# ['']
# 1

ဗလာစာကြောင်းတစ်ခုအတွက် ဗလာစာရင်းကို ရယူလိုပါက၊ စာရင်းနားလည်မှုမှတ်စုတွင် အခြေအနေဆိုင်ရာဌာနခွဲတစ်ခုကို သတ်မှတ်နိုင်သည်။

s = ''
l = [x.strip() for x in s.split(',') if not s == '']
print(l)
print(len(l))
# []
# 0

one, , three'
ထို့အပြင်၊ အထက်တွင်ဖော်ပြထားသည့်အတိုင်း ကော်မာ-ခြားထားသည့်ဒြပ်စင်တစ်ခု ပျောက်ဆုံးပါက၊ ပထမနည်းလမ်းသည် ၎င်းအား ကြိုးတန်းဒြပ်စင်တစ်ခုအဖြစ် စာရင်းသွင်းမည်ဖြစ်သည်။

s = 'one, , three'
l = [x.strip() for x in s.split(',')]
print(l)
print(len(l))
# ['one', '', 'three']
# 3

ပျောက်ဆုံးနေသောအစိတ်အပိုင်းများကို လျစ်လျူရှုလိုပါက၊ စာရင်းနားလည်မှုမှတ်စုတွင် အခြေအနေဆိုင်ရာဌာနခွဲတစ်ခုကို သင်သတ်မှတ်နိုင်သည်။

s = 'one, ,three'
l = [x.strip() for x in s.split(',') if not x.strip() == '']
print(l)
print(len(l))
# ['one', 'three']
# 2

နံပါတ်များစာရင်းအဖြစ် ရယူပါ။

စာကြောင်းတစ်ခုအစား နံပါတ်များစာရင်းတစ်ခုအဖြစ် ကော်မာ-ခြားထားသော နံပါတ်တစ်ခုကို ရယူလိုပါက၊ စာရင်းနားလည်မှုမှတ်စုရှိ string ကို နံပါတ်တစ်ခုသို့ ပြောင်းရန် int() သို့မဟုတ် float() ကို အသုံးပြုပါ။

s = '1, 2, 3, 4'
l = [x.strip() for x in s.split(',')]
print(l)
print(type(l[0]))
# ['1', '2', '3', '4']
# <class 'str'>

s = '1, 2, 3, 4'
l = [int(x.strip()) for x in s.split(',')]
print(l)
print(type(l[0]))
# [1, 2, 3, 4]
# <class 'int'>

join():စာရင်းတစ်ခုကို ပေါင်းပြီး စာကြောင်းတစ်ခုအဖြစ် ရယူပါ။

ဆန့်ကျင်ဘက်ပုံစံတွင်၊ သင်သည် စာရင်းတစ်ခုတွင်ပါဝင်ပြီး သီးခြားကန့်သတ်ချက်ဖြင့် ခြားထားသော စာကြောင်းများရယူလိုပါက Join() နည်းလမ်းကို အသုံးပြုပါ။

အမှားလုပ်ရန် လွယ်ကူသော်လည်း Join() သည် စာရင်းနည်းလမ်းမဟုတ်ဘဲ string method တစ်ခုဖြစ်ကြောင်း သတိပြုပါ။ စာရင်းကို အငြင်းအခုံအဖြစ် သတ်မှတ်သည်။

s = 'one, two,  three'
l = [x.strip() for x in s.split(',')]
print(l)
# ['one', 'two', 'three']

print(','.join(l))
# one,two,three

print('::'.join(l))
# one::two::three

အောက်ပါအတိုင်း စာကြောင်းတစ်ကြောင်းဖြင့် ရေးသားနိုင်သည်။

s = 'one, two,  three'
s_new = '-'.join([x.strip() for x in s.split(',')])
print(s_new)
# one-two-three

ပုံသေမျဉ်းသားကို ပြောင်းလဲလိုပါက replace() method ဖြင့် အစားထိုးရန် ပိုမိုလွယ်ကူပါသည်။

s = 'one,two,three'
s_new = s.replace(',', '+')
print(s_new)
# one+two+three